std::tm
來自 cppreference.com
定義於標頭檔案 <ctime> |
||
struct tm; |
||
日曆日期和時間分解為各個組成部分的結構。
目錄 |
[編輯] 成員物件
int tm_sec |
分鐘後的秒數 – [ 0, 61] (C++11 前) [ 0, 60] (C++11 起)[注 1](公有成員物件) |
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 |
1 月 1 日後的天數 – [ 0, 365] (公有成員物件) |
int tm_isdst |
夏令時標誌。如果夏令時生效,則值為正;如果未生效,則為零;如果沒有資訊可用,則為負。 (公有成員物件) |
- ↑ 範圍允許一個正閏秒。不允許同一分鐘內出現兩個閏秒(範圍
[
0,
61]
是 C89 中引入並在 C99 中修正的缺陷)。
[編輯] 注意
BSD、GNU 和 musl C 庫支援兩個附加成員,它們在 POSIX.1-2024 中已標準化。
long tm_gmtoff |
UTC 以東的秒數 (公有成員物件) |
const char* tm_zone |
時區縮寫 (公有成員物件) |
[編輯] 示例
執行此程式碼
#include <ctime> #include <iostream> int main() { std::tm tm{}; tm.tm_year = 2022 - 1900; tm.tm_mday = 1; std::mktime(&tm); std::cout << std::asctime(&tm); // note implicit trailing '\n' }
可能的輸出
Sat Jan 1 00:00:00 2022
[編輯] 參閱
將自紀元以來的時間轉換為以本地時間表示的日曆時間 (函式) | |
將自紀元以來的時間轉換為以世界協調時間表示的日曆時間 (函式) | |
C 文件 關於 tm
|