$ man gmtime
#include<time.h>
struct tm *gmtime(const time_t *timep);
struct tm {
int tm_sec; /* seconds */
int tm_min; /* minutes */
int tm_hour; /* hours */
int tm_mday; /* day of the month */
int tm_mon; /* month */
int tm_year; /* year */
int tm_wday; /* day of the week */
int tm_yday; /* day in the year */
int tm_isdst; /* daylight saving time */
};
上に示すtm型の構造体を返却してくるようである。
/* mytime.c */
//低水準の時刻から現在の時刻を計算し、表示させるプログラム
#include<stdio.h> //printf
#include<time.h> //time, gmtime
int main(void)
{
//UNIXエポック(1970.01.01.AP00:00)を起点とした時間(second)を表示
time_t mytime;
struct tm *time_ptr;
time(&mytime);
//gmtimeより現在の日付を算出
time_ptr = gmtime(&mytime);
printf("Raw time is %ld\n", mytime);
printf("date : %02d/%02d/%02d\n", time_ptr->tm_year, time_ptr->tm_mon+1, time_ptr->tm_mday);
return 0;
}
$ ./mytime2
Raw time is 1342782353
date : 112/07/20
112年って。。。。2000年問題が起こっています笑