Namespaces
Variants

std::chrono:: system_clock

From cppreference.net
定义于头文件 <chrono>
class system_clock ;
(C++11 起)

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

它可能不是单调的:在大多数系统上,系统时间可能随时被调整。这是唯一能够将其时间点映射到C风格时间的C++时钟。

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

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

(C++20 前)

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

(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
[static]
若时间间隔恒为常数则返回 true ,即即使发生外部时钟调整,调用 now() 返回的值仍保持单调递增;否则返回 false
(公开静态成员常量)

成员函数

[static]
返回表示当前时间点的 std::chrono::time_point
(公开静态成员函数)
[static]
将系统时钟时间点转换为 std::time_t
(公开静态成员函数)
[static]
std::time_t 转换为系统时钟时间点
(公开静态成员函数)

注释

system_clock 的时间值可能随时被操作系统在内部调整,例如由于NTP同步或用户更改系统时钟。然而,夏令时和时区变更不会影响它,因为它基于 UTC 时区。

参见

永不调整的单调时钟
(类)
具备最短计时周期的时钟
(类)