命名空间
变体
操作

std::tm

来自 cppreference.cn
< cpp‎ | chrono‎ | c
 
 
 
 
定义于头文件 <ctime>
struct tm;

日历日期和时间分解为各个组成部分的结构。

目录

[编辑] 成员对象

int tm_sec
分钟后的秒数 – [061](C++11 前) [060](C++11 起)[注 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. 范围允许一个正闰秒。不允许同一分钟内出现两个闰秒(范围 [061] 是 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