現地時間。 http://linux.die.net/man/3/localtime を参照
time_t now = time(NULL);
struct tm *tm_struct = localtime(&now);
int hour = tm_struct->tm_hour;
呼び出し localtime(time(NULL))
動作しません。 time()
の戻り値 time_t
です 、および localtime の最初の引数は time_t*
です .どちらも受け入れられた答えではなく、printf を使用した答えも正しくありません。
time_t now;
struct tm *now_tm;
int hour;
now = time(NULL);
now_tm = localtime(&now);
hour = now_tm->tm_hour;
printf("the hour is %d\n", localtime(time(NULL))->tm_hour);
これは localtime()
という事実に依存しています 静的ストレージへのポインターを返します。