構造体 tm はtime.h の中で宣言され、以下の情報を含みます struct tm { int tm_sec; /* 秒 [0-61] 最大2秒までのうるう秒を考慮 */ int tm_min; /* 分 [0-59] */ int tm_hour; /* 時 [0-23] */ int tm_mday; /* 日 [1-31] */ int tm_mon; /* 月 [0-11] 0から始まることに注意 */ int tm_year; /* 年 [1900からの経過年数] */ int tm_wday; /* 曜日 [0:日 1:月 ... 6:土] */ int tm_yday; /* 年内の通し日数 [0-365] 0から始まることに注意*/ int tm_isdst; /* 夏時間フラグ [夏時間を採用しているときに正、採用していないときに 0、この情報が得られないときに負] */ };
#include <stdio.h> #include <time.h> int main(void) { time_t timer; struct tm t; struct tm *t_st; t.tm_year = 101; /* 2001年 */ t.tm_mon = 4; /* 5月 */ t.tm_mday = 20; /* 20日 */ t.tm_wday = 0; /* 日曜日 */ t.tm_hour = 14; /* 14時 */ t.tm_min = 20; /* 20分 */ t.tm_sec = 0; /* 00秒 */ t.tm_isdst= -1; /* 夏時間無効 */ /* 構造体を時刻に変換 */ timer = mktime(&t); printf("時刻 : %ld\n",timer); /* 再変換して確認 */ t_st = localtime(&timer); printf("年 : %d\n",t_st->tm_year+1900); printf("月 : %d\n",t_st->tm_mon+1); printf("日 : %d\n",t_st->tm_mday); printf("曜日: %d\n",t_st->tm_wday); printf("時 : %d\n",t_st->tm_hour); printf("分 : %d\n",t_st->tm_min); printf("秒 : %d\n",t_st->tm_sec); return 0; }【実行結果例】
時刻 : 990368400 年 : 2001 月 : 5 日 : 20 曜日: 0 時 : 14 分 : 20 秒 : 0
▼戻る▼
「初心者のためのポイント学習C言語」 Copyright(c) 2000-2004 TOMOJI All Rights Reserved