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からのカウントであるため、適宜調整する必要があります。