命名空间
变体
操作

std::chrono::system_clock

来自 cppreference.cn
< cpp‎ | chrono
 
 
日期和时间库
时间点
(C++11)
(C++20)
时长
(C++11)
时钟
system_clock
(C++11)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
日间时间
(C++20)(C++20)
(C++20)(C++20)
(C++20)
日历
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
chrono I/O
(C++20)

 
 
定义于头文件 <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
[静态]
如果两次嘀嗒之间的时间始终恒定,即对now()的调用返回单调递增的值,即使在某些外部时钟调整的情况下也是如此,则为true,否则为false
(public static 成员常量)

[编辑] 成员函数

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

[编辑] 注意

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

[编辑] 另请参阅

永不调整的单调时钟
(类) [编辑]
可用最短滴答周期的时钟
(类) [编辑]