tm | Programming Place Plus C言語編 標準ライブラリのリファレンス

トップページC言語編標準ライブラリのリファレンス(名前順)

トップページC言語編標準ライブラリのリファレンス(ヘッダ別)


tm

概要

カレンダー時間(歴時間)の詳細を表現する構造体。

ヘッダ

time.h

形式

struct tm {
    int tm_sec;
    int tm_min;
    int tm_hour;
    int tm_mday;
    int tm_mon;
    int tm_year;
    int tm_wday;
    int tm_yday;
    int tm_isdst;
};
    

詳細

各メンバの意味と、値の範囲は以下のとおりである。

メンバ 意味 範囲
tm_sec 秒 0 ~60
tm_min 分 0 ~59
tm_hour 時 0 ~23
tm_mday 日 1 ~31
tm_mon 月 0 ~11
tm_year 1900年を起点とした経過年
tm_wday 曜日 0~ 6(日曜日を 0 とする)
tm_yday 1月1日を基準とした通算日 0~365
tm_isdst 季節時間のフラグ 0 のときは、季 節時間の処理を行わない。
0 より大きいときは、季節時間の処理を行う。
0 より小さいときは、不明である(その情報が得られないことを示す)。

注意

使用例

#include <stdio.h>
#include <time.h>
#include <assert.h>

static void print_tm(const struct tm* t);

int main(void)
{
    time_t t = time(NULL);
    struct tm* utc = gmtime(&t);

    print_tm(utc);
}

void print_tm(const struct tm* t)
{
    assert(t != NULL);

    printf("年       : %d\n", t->tm_year);
    printf("月       : %d\n", t->tm_mon);
    printf("日       : %d\n", t->tm_mday);
    printf("曜日     : %d\n", t->tm_wday);
    printf("時       : %d\n", t->tm_hour);
    printf("分       : %d\n", t->tm_min);
    printf("秒       : %d\n", t->tm_sec);
    printf("通算日   : %d\n", t->tm_yday);
    printf("季節時間 : %d\n", t->tm_isdst);
}

実行結果

年       : 111
月       : 3
日       : 3
曜日     : 0
時       : 4
分       : 7
秒       : 27
通算日   : 92
季節時間 : 0

関連

協定世界時(UTC)を表現した tm構造体の値を gmtime関数で得られる。また、ローカル時間(地域時間)の値を localtime関数で得られる。
tm構造体の値を基にして time_t型の値を生成する mktime関数がある。
asctime関数を使うと、tm構造体の値を文字列形式に変換できる。

解説章

第51章


参考リンク


更新履歴

’2018/1/22 新規作成。



標準ライブラリのリファレンス(名前順)のトップページへ

標準ライブラリのリファレンス(ヘッダ別)のトップページへ

C言語編のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る