命名空间
变体
操作

std::chrono::system_clock

来自 cppreference.com
< cpp‎ | chrono
 
 
实用程序库
语言支持
类型支持 (基本类型,RTTI)
库功能测试宏 (C++20)
动态内存管理
程序实用程序
协程支持 (C++20)
可变参数函数
调试支持
(C++26)
三元比较
(C++20)
(C++20)(C++20)(C++20)
(C++20)(C++20)(C++20)
通用实用程序
日期和时间
函数对象
格式化库 (C++20)
(C++11)
关系运算符 (C++20 中已弃用)
整数比较函数
(C++20)(C++20)(C++20)   
(C++20)
交换类型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
通用词汇类型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
基本字符串转换
(C++17)
(C++17)

 
 
 
在头文件 <chrono> 中定义
class system_clock;
(自 C++11 起)

std::chrono::system_clock 表示系统范围的实时挂钟。

它可能不是单调的:在大多数系统上,系统时间可以随时调整。它是唯一具有将时间点映射到 C 样式时间的 C++ 时钟。

std::chrono::system_clock 满足 TrivialClock 的要求。

system_clock 的纪元未指定,但大多数实现使用 Unix 时间(即自协调世界时 (UTC) 1970 年 1 月 1 日星期四 00:00:00 起的时间,不计闰秒)。

(直到 C++20)

system_clock 测量 Unix 时间(即自协调世界时 (UTC) 1970 年 1 月 1 日星期四 00:00:00 起的时间,不计闰秒)。

(自 C++20 起)

内容

时间点族

在命名空间 std::chrono 中定义
template<class Duration>
using sys_time = std::chrono::time_point<std::chrono::system_clock, Duration>;
(自 C++20 起)
using sys_seconds = sys_time<std::chrono::seconds>;
(自 C++20 起)
using sys_days = sys_time<std::chrono::days>;
(自 C++20 起)
sys_time 执行流输出
(函数模板) [编辑]
根据提供的格式从流中解析 sys_time
(函数模板) [编辑]
sys_time 的格式化支持
(类模板特化) [编辑]

[编辑] 成员类型

成员类型 定义
rep 表示时钟持续时间中刻度数的有符号算术类型
period 一个 std::ratio 类型,表示时钟的刻度周期(以秒为单位)
duration std::chrono::duration<rep, period>,能够表示负持续时间
time_point std::chrono::time_point<std::chrono::system_clock>

[编辑] 成员常量

constexpr bool is_steady
[静态]
true 如果刻度之间的时间始终保持恒定,即对 now() 的调用返回即使在某些外部时钟调整的情况下也单调递增的值,否则为 false
(公有静态成员常量)

[编辑] 成员函数

[静态]
返回一个 std::chrono::time_point,表示当前时间点
(公有静态成员函数) [编辑]
[静态]
将系统时钟时间点转换为 std::time_t
(公有静态成员函数) [编辑]
[静态]
std::time_t 转换为系统时钟时间点
(公有静态成员函数) [编辑]

[编辑] 备注

system_clock 的时间值可以在任何时候由操作系统内部调整,例如由于 NTP 同步或用户更改系统时钟。但是,夏令时和时区变化不会影响它,因为它基于 UTC 时区。

[编辑] 参见

单调时钟,永远不会被调整
(类) [编辑]
具有最短刻度周期的时钟
(类) [编辑]