std:: tm
From cppreference.net
|
定义于头文件
<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); // 注意隐式尾随的 '\n' }
可能的输出:
Sat Jan 1 00:00:00 2022
参见
|
将自纪元起的时间转换为本地时间表示的日历时间
(函数) |
|
|
将自纪元起的时间转换为协调世界时表示的日历时间
(function) |
|
|
C 文档
for
tm
|
|