Linux講座にようこそ。このページは「C言語プログラミング入門 - 第14章.ライブラリ関数 - 日付および時間ライブラリ」です。
time関数は紀元からの経過秒数(1970年1月1日00:00:00 UTCからの経過秒数)を取得します。
形式 | #include <time.h> time_t time(time_t *timep); |
---|---|
返り値 | 紀元からの経過秒数を返します。エラーの場合は((time_t) -1) を返します。 |
引数 |
|
localtime関数は紀元からの経過秒数を日時構造体(tm構造体)に変換します。日時はローカル標準時になりますので、通常は日本標準時(JST)に変換します。ちなみに、JSTは「協定世界時(UTC)+9時間」です。
形式 | #include <time.h> struct tm *localtime(const time_t *timep); |
---|---|
返り値 | 日時構造体を返します。エラーの場合はNULLを返します。 |
引数 |
|
日時構造体(tm構造体)の内容は、次の通りです。この構造体はヘッダファイルのtime.hに宣言されています。(各メンバーの型名はint型です)
メンバー名 | 内容 |
---|---|
tm_sec | 秒数で、0から59までの値です。(但し、閏秒のため60までの値は許されます。) |
tm_min | 分数で、0から59までの値です。 |
tm_hour | 真夜中からの通算時間で、0から23までの値です。 |
tm_mday | 月はじめからの日数で、1から31までの値です。 |
tm_mon | 1月からの通算月数で、0から11までの値です。 |
tm_year | 1900年からの通算年数です。 |
tm_wday | 日曜日からの通算日数(曜日)で、0から6までの値です。(0が日曜日です。) |
tm_yday | 1月1日からの通算日数で、0から365までの値です。 |
tm_isdst | 夏時間が有効かどうかのフラグです。正の値ならば夏時間は有効になり、0ならば無効、負の値ならばこの情報には意味がないことを表します。 |
gmtime関数は紀元からの経過秒数を日時構造体(tm構造体)に変換します。日時は協定世界時(UTC)になります。
形式 | #include <time.h> struct tm *gmtime(const time_t *timep); |
---|---|
返り値 | 日時構造体を返します。エラーの場合はNULLを返します。 |
引数 |
|
mktime関数は日時構造体(tm構造体)を紀元からの経過秒数に変換します。tm構造体のメンバーの内容は次の様に変更されます。
形式 | #include <time.h> time_t mktime(struct tm *tm); |
---|---|
返り値 | 紀元からの経過秒数を返します。エラーの場合は((time_t) -1) を返します。 |
引数 |
|
現在日時を「年/月/日 時:分:秒」の形式で表示します。
$ ./ex14_5_1.prg JST:2009/08/20 10:34:49 $