C言語でlocaltime関数の使い方を教えてください。

C言語のlocaltime関数は、time_t型の時間値をローカル時間表現に変換します。関数のプロトタイプは次のとおりです。

struct tm *localtime(const time_t *time);

time_t型ポインタの引数timeは変換対象の時間値へのポインタで、関数は変換されたローカル時間の各要素(年、月、日、時、分、秒など)を含むstruct tm型ポインタを返します。

例えば、次のコードは現在のシステム時間をローカル時間表現に変換します。

#include <stdio.h>
#include <time.h>

int main() {
    time_t now;
    struct tm *local;

    // 获取当前系统时间
    now = time(NULL);

    // 将时间转换为本地时间
    local = localtime(&now);

    // 输出本地时间的各个成员
    printf("Year: %d\n", local->tm_year + 1900);
    printf("Month: %d\n", local->tm_mon + 1);
    printf("Day: %d\n", local->tm_mday);
    printf("Hour: %d\n", local->tm_hour);
    printf("Minute: %d\n", local->tm_min);
    printf("Second: %d\n", local->tm_sec);

    return 0;
}

結果が似ています。

Year: 2021
Month: 6
Day: 17
Hour: 12
Minute: 30
Second: 45

time(NULL)関数は現在のシステム時刻を取得し、localtime関数はその時刻をローカルタイムに変換し、変換後のローカルタイムの各メンバを出力します。構造体struct tmの年数は1900年からのカウントであり、月数は0からのカウントであるため、適宜調整する必要があります。

bannerAds