C 標準ライブラリ - <time.h>
はじめに
time.h ヘッダー ファイルには、日付と時刻を操作するための 4 つの変数タイプ、2 つのマクロ、およびさまざまな関数が定義されています。
ライブラリ変数
ヘッダーファイル time.h で定義されている変数の型は次のとおりです:
シリアル番号 | 変数と説明 |
---|---|
1 | size_t は符号なし整数ですゲルタイプ、それは sizeof キーワードの結果です。 |
2 | Clock_t これはプロセッサ時間を保存するのに適した型です。 |
3 | time_tは カレンダーの時刻を格納するのに適した型です。 |
4 | struct tm これは、時間と日付を節約するために使用される構造体です。 |
tm 構造は次のように定義されています:
struct tm { int tm_sec; /* 秒,范围从 0 到 59 */ int tm_min; /* 分,范围从 0 到 59 */ int tm_hour; /* 小时,范围从 0 到 23 */ int tm_mday; /* 一月中的第几天,范围从 1 到 31 */ int tm_mon; /* 月,范围从 0 到 11 */ int tm_year; /* 自 1900 年起的年数 */ int tm_wday; /* 一周中的第几天,范围从 0 到 6 */ int tm_yday; /* 一年中的第几天,范围从 0 到 365 */ int tm_isdst; /* 夏令时 */};
ライブラリマクロ
以下はヘッダーファイル time.h で定義されているマクロです:
シリアル番号 | マクロと説明 |
---|---|
1 | NULL このマクロは、NULL ポインター定数の値です。 |
2 | CLOCKS_PER_SEC このマクロは、1 秒あたりのプロセッサ クロック数を表します。 |
ライブラリ関数
以下はヘッダーファイルtime.hで定義されている関数です:
シリアル番号 | 関数と説明 |
---|---|
1 | char *asctime(const struct tm * timeptr) 構造体 timeptr の日付と時刻を表す文字列へのポインタを返します。 |
2 | Clock_t Clock(void) プログラムの実行 (通常はプログラムの開始時) 以降にプロセッサー クロックによって使用された時間を返します。 |
char *ctime(const time_t *timer) | 現地時間を表す文字列を返します。現地時間はパラメータ timer に基づいています。 |
double difftime(time_t time1, time_t time2) | time1 と time2 の差の秒数 (time1-time2) を返します。 |
struct tm *gmtime(const time_t *timer) | timer 値は tm 構造体に分解され、グリニッジ標準時 (GMT) とも呼ばれる協定世界時 (UTC) で表現されます。 |
struct tm *localtime(const time_t *timer) | timer 値は tm 構造体に分解され、ローカルタイムゾーンで表現されます。 |
time_t mktime(struct tm *timeptr) | timeptr が指す構造体をローカルタイムゾーンに基づいた time_t 値に変換します。 |
size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr) | format で定義された書式設定規則に従って、構造体 timeptr で表される時間を書式設定して、それを格納しますstr. |
time_t time(time_t *timer) | 現在のカレンダー時刻を計算し、time_t 形式にエンコードします。 |