std::tm
来自cppreference.com
工具库
日期和时间工具
时间点 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
时长 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
时钟 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
当天时刻 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
日历 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
时区 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
chrono I/O |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(C++20)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
C 风格日期和时间 |
在标头
<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 日起之日 – [0, 365] (公开成员对象) |
int
tm_isdst
|
夏令时标志。值若夏令时有效则为正,若无效则为零,若无可用信息则为负 (公开成员对象) |
注意
标准只强制前述成员按任一顺序存在。实现通常对此结构体添加额外的数据成员。
- ↑ 范围允许正闰秒。不允许同一分钟内的二个闰秒( C89 中错误地引入范围 0..61 ,而在 C99 中更正)
示例
展示日历时间。
运行此代码
#include <ctime> #include <iostream> int main() { std::tm start{}; start.tm_mday = 1; std::mktime(&start); std::cout << std::asctime(&start) << "sizeof(std::tm) = " << sizeof(std::tm) << '\n'; }
可能的输出:
Mon Jan 1 00:00:00 1900 sizeof(std::tm) = 56
参阅
转换纪元起时间为以本地时间表示的日历时间 (函数) |
|
转换纪元起时间为以协调世界时表示的日历时间 (函数) |