C言語で時刻とタイムゾーンを設定するには
C 言語では、time.h ヘッダーファイル内にある関数を用いて、時刻やタイムゾーンの設定ができます。
- 時刻の設定: time() 関数を使用して現在のシステム時刻を取得し、localtime() 関数を使用して時刻を構造体 tm 型のローカル時刻に変換し、strftime() 関数を使用してローカル時刻を文字列にフォーマットします。
#include <stdio.h>
#include <time.h>
int main() {
time_t t;
struct tm *local_time;
char time_str[80];
// 获取当前系统时间
t = time(NULL);
// 转换为本地时间
local_time = localtime(&t);
// 格式化为字符串
strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", local_time);
printf("当前时间:%s\n", time_str);
return 0;
}
- 時刻の設定: タイムゾーンを tzset() 関数を使用して設定できます。タイムゾーン情報はグローバル変数 timezone に格納されます。
#include <stdio.h>
#include <time.h>
int main() {
time_t t;
struct tm *local_time;
char time_str[80];
// 设置时区
setenv("TZ", "Asia/Shanghai", 1);
tzset();
// 获取当前系统时间
t = time(NULL);
// 转换为本地时间
local_time = localtime(&t);
// 格式化为字符串
strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", local_time);
printf("当前时间:%s\n", time_str);
return 0;
}
ご注意ください。タイムゾーンの設定はオペレーティングシステムによって異なるので、上記の例ではタイムゾーンは “Asia/Shanghai” に設定されていますが、オペレーティングシステムによっては異なる場合があります。