std::chrono::tai_clock
来自 cppreference.com
定义在头文件 <chrono> 中 |
||
class tai_clock; |
(自 C++20) | |
时钟 std::chrono::tai_clock
是一个 Clock,它表示 国际原子时 (TAI)。它测量自 1958 年 1 月 1 日 00:00:00 以来经过的时间,并且在该日期比 UTC 快 10 秒(即,它的纪元,1958-01-01 00:00:00 TAI,相当于 1957-12-31 23:59:50 UTC)。
TAI 中没有插入闰秒。因此,每当在 UTC 中插入一个闰秒时,UTC 就比 TAI 落后一秒。截至 2017 年 12 月,UTC 比 TAI 落后 37 秒,反映了 10 秒的初始偏移量和 1958 年至 2017 年之间插入的 27 个闰秒。因此,2018-01-01 00:00:00 UTC 等于 2018-01-01 00:00:37 TAI。
tai_clock
符合 Clock 要求。它不符合 TrivialClock 要求,除非实现可以保证 now() 不会抛出异常。
内容 |
时间点系列
定义在命名空间 std::chrono 中 |
||
template<class Duration> using tai_time = std::chrono::time_point<std::chrono::tai_clock, Duration>; |
(自 C++20) | |
using tai_seconds = tai_time<std::chrono::seconds>; |
(自 C++20) | |
对 tai_time 执行流输出(函数模板) | |
根据提供的格式从流中解析 tai_time (函数模板) | |
对 tai_time 的格式化支持(类模板特化) |
[edit] 成员类型
成员类型 | 定义 |
rep
|
表示时钟持续时间内滴答次数的有符号算术类型 |
period
|
一个 std::ratio 类型,表示时钟的滴答周期(以秒为单位) |
duration
|
std::chrono::duration<rep, period>,能够表示负持续时间 |
time_point
|
std::chrono::time_point<std::chrono::tai_clock> |
[edit] 成员常量
constexpr bool is_steady [静态] |
true 如果滴答之间的时间始终保持不变,即对 now() 的调用即使在某些外部时钟调整的情况下也返回单调递增的值,否则为 false (公共静态成员常量) |
[edit] 成员函数
[静态] |
返回一个 std::chrono::time_point,表示当前的时间点 (公共静态成员函数) |
[静态] |
将 tai_time 转换为 utc_time (公共静态成员函数) |
[静态] |
将 utc_time 转换为 tai_time (公共静态成员函数) |