名前空間
変種
操作

tm

From cppreference.com
< c‎ | chrono
ヘッダー <time.h> で定義
struct tm;

カレンダーの日付と時刻を構成要素に分解して保持する構造体。

目次

[編集] メンバオブジェクト

int tm_sec
分後の秒数 – [061](C99まで)[060](C99以降)[注1]
(public メンバーオブジェクト)
int tm_min
時間ごとの分数 – [059]
(public メンバーオブジェクト)
int tm_hour
深夜からの時間数 – [023]
(public メンバーオブジェクト)
int tm_mday
月の日数 – [131]
(public メンバーオブジェクト)
int tm_mon
1月からの月数 – [011]
(public メンバーオブジェクト)
int tm_year
1900年からの年数
(public メンバーオブジェクト)
int tm_wday
日曜日からの日数 – [06]
(public メンバーオブジェクト)
int tm_yday
1月1日からの日数 – [0365]
(public メンバーオブジェクト)
int tm_isdst
夏時間フラグ。DSTが有効な場合は正の値、無効な場合はゼロ、情報が利用できない場合は負の値。
(public メンバーオブジェクト)
[編集] 注記

規格では、上記のメンバのみが存在することが規定されています。順序は規定されていません。実装では通常、この構造体にさらにデータメンバが追加されます。

  1. 範囲は正のうるう秒を許容します。同じ分に2つのうるう秒は許可されません(C89の範囲0..61は欠陥でした)。

[編集]

#include <stdio.h>
#include <time.h>
 
int main(void)
{
    struct tm start = {.tm_year = 2022 - 1900, .tm_mday = 1};
    mktime(&start);
    printf("%s", asctime(&start)); // note implicit trailing '\n'
}

出力

Sat Jan  1 00:00:00 2022

[編集] 参考文献

  • C23標準 (ISO/IEC 9899:2024)
  • 7.27.1/3 時間の構成要素 (p: TBD)
  • C17標準 (ISO/IEC 9899:2018)
  • 7.27.1/3 時間の構成要素 (p: 284)
  • C11標準 (ISO/IEC 9899:2011)
  • 7.27.1/3 時間の構成要素 (p: 388)
  • C99標準 (ISO/IEC 9899:1999)
  • 7.23.1/3 時間の構成要素 (p: 338)
  • C89/C90標準 (ISO/IEC 9899:1990)
  • 4.12.1 時間の構成要素

[編集] 関連項目

エポックからの時間を、地方時で表されるカレンダー時間に変換する
(関数) [編集]
エポックからの時間を、協定世界時 (UTC) で表されるカレンダー時間に変換する
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)