C言語で時刻とタイムゾーンを設定するには

C 言語では、time.h ヘッダーファイル内にある関数を用いて、時刻やタイムゾーンの設定ができます。

  1. 時刻の設定: 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;
}
  1. 時刻の設定: タイムゾーンを 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” に設定されていますが、オペレーティングシステムによっては異なる場合があります。

bannerAds