名稱空間
變體
操作

tm

來自 cppreference.com
< c‎ | 時間
定義於標頭檔案 <time.h>
struct tm;

將日曆日期和時間分解為其組成部分的結構體。

目錄

[編輯] 成員物件

int tm_sec
分後的秒數 – [061](C99 之前)[060](C99 起)[注 1]
(公有成員物件)
int tm_min
小時後的分鐘數 – [059]
(公有成員物件)
int tm_hour
午夜後的小時數 – [023]
(公有成員物件)
int tm_mday
月份中的日期 – [131]
(公有成員物件)
int tm_mon
一月後的月份數 – [011]
(公有成員物件)
int tm_year
1900 年後的年份數
(公有成員物件)
int tm_wday
週日後的天數 – [06]
(公有成員物件)
int tm_yday
1 月 1 日後的天數 – [0365]
(公有成員物件)
int tm_isdst
夏令時標誌。如果夏令時生效,則值為正;如果不生效,則為零;如果沒有可用資訊,則為負。
(公有成員物件)
[編輯] 注意

標準僅強制要求上述成員的存在,順序不限。實現通常會向此結構體新增更多資料成員。

  1. 範圍允許一個正閏秒。不允許同一分鐘內出現兩個閏秒(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: 待定)
  • 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) 表示的日曆時間
(函式) [編輯]
C++ 文件 關於 tm