C言語 システム時刻を日本時間(年月日)構造体に変換 - time.h - [ localtime ]
2008.12.01 Monday | by LRESULT
システム時刻を地域時間(日本時間)用の構造体に変換するには、localtime()を使います。
システム時刻とは、一般的にグリニッジ標準時の1970年1月1日00:00:00を
基準とした、現在までの経過時間(秒)のことで、time()で取得します。
書式 | struct tm* localtime( const time_t *timer ) |
---|---|
機能 | システム時刻を地域時間用の構造体に変換 |
引数 | const time_t *timer : time()で取得したシステム時刻 |
戻り値 | 日本時間に変換された、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](-1された月数) |
int tm_year | 年(1900からの経過年数) |
int tm_wday | 曜日[0〜6](日:0 月:1 火:2 水:3 木:4 金:5 土:6) |
int tm_yday | 1月1日からの経過日数[0〜365] |
int tm_isdst | 夏時間の有無(0:なし 正の値:夏時間) |
現在のシステム時刻から、 今日の年月日と時刻、曜日、経過日数などを表示してみます。 |
---|
#include <stdio.h> |
2008 : [年] 12 : [月] 1 : [日] 22 : [時] 11 : [分] 59 : [秒] 1 : [曜日] 335 : [経過日数] 0 : [夏時間の有無] |
---|
と、こんな感じで表示されます。 年数は、+1900して、月数は+1する必要があります。 曜日は、1なので月曜日ですね。 カレンダーなんかも作れそうです。 |