std::tm

来自cppreference.com
< cpp‎ | chrono‎ | c
 
 
工具库
通用工具
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中弃用)
整数比较函数
(C++20)(C++20)(C++20)
(C++20)
swap 与类型运算
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
常用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)

初等字符串转换
(C++17)
(C++17)
栈踪
 
 
 
定义于头文件 <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
夏令时标志。值若夏令时有效则为正,若无效则为零,若无可用信息则为负
(公开成员对象)
注意

标准只强制前述成员按任一顺序存在。实现通常对此结构体添加额外的数据成员。

  1. 范围允许正闰秒。不允许同一分钟内的二个闰秒( 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

参阅

转换纪元起时间为以本地时间表示的日历时间
(函数)
转换纪元起时间为以协调世界时表示的日历时间
(函数)