time.h に宣言されている time_t, struct tm を使った時刻の出力設定例です。
//----------------------------------------------------------------- // time_t: 時刻の出力設定 //----------------------------------------------------------------- #include <stdio.h> #include <time.h> int main() { char str[256]; struct tm *tm; time_t t,t2000; // get time t = time(NULL); tm = localtime(&t); // localtime: time_t --> tm printf("now time: %s",ctime(&t)); // time format printf("tm struct:\n"); printf(" sec:%d\n",tm->tm_sec); // second printf(" min:%d\n",tm->tm_min); // min printf(" hour:%d\n",tm->tm_hour); // hour printf(" mday:%d\n",tm->tm_mday); // day of month printf(" mon:%d\n",tm->tm_mon+1); // month printf(" year:%d\n",tm->tm_year+1900); // year printf(" wday:%d\n",tm->tm_wday); // day of week printf(" yday:%d\n",tm->tm_yday); // day of year printf("isdst:%d\n",tm->tm_isdst); // summer time? //-------------------------------------------------- // 書式付き出力 //-------------------------------------------------- printf("time format:\n"); strftime(str,sizeof(str),"\t%Y/%m/%d,%H:%M:%S",tm); printf("%s\n",str); //-------------------------------------------------- // 時刻を作為的に進める //-------------------------------------------------- tm->tm_sec += 2; tm->tm_hour += 2; t2000 = mktime(tm); // mktime: tm --> time_t printf("advanced time: %s",ctime(&t2000)); return 0; } |
now time: Thu Nov 25 16:49:01 2004 tm struct: sec:1 min:49 hour:16 mday:25 mon:11 year:2004 wday:4 yday:329 isdst:0 time format: 2004/11/25,16:49:01 advanced time: Thu Nov 25 18:49:03 2004 |