std::chrono::gps_clock
在标头
<chrono> 定义 |
||
class gps_clock;
|
(C++20 起) | |
时钟 std::chrono::gps_clock
是表示全球定位系统 (Global Positioning System, GPS) 时间的时钟。它度量从 1980 年 1 月 6 日 00:00:00 UTC 开始的时间。
GPS 中不插入闰秒。从而 UTC 中每插入一次闰秒,UTC 就多落后 GPS 一秒。迄至 2017 年 12 月,UTC 落后 GPS 18 秒,反映出 1980 到 2017 年间插入了 18 闰秒。从而 2018-01-01 00:00:00 UTC 等价于 2018-01-01 00:00:18 GPS。 GPS 恒定地落后 TAI 19 秒。
gps_clock
满足时钟 (Clock) 的要求。它不满足平凡时钟 (TrivialClock) 的要求,除非实现能保证 now() 不抛异常。
时间点族
定义于命名空间
std::chrono |
||
template<class Duration>
using gps_time = std::chrono::time_point<std::chrono::gps_clock, Duration>; |
(C++20 起) | |
using gps_seconds = gps_time<std::chrono::seconds>;
|
(C++20 起) | |
进行 gps_time 上的流输出 (函数模板) |
|
按照给定的格式从流分析 gps_time (函数模板) |
|
gps_time 的格式化支持(类模板特化) |
成员类型
成员类型 | 定义 |
rep |
表示时钟时长中的计次数的有符号算术类型 |
period |
表示时钟计次周期的 std::ratio 类型,单位为秒 |
duration |
std::chrono::duration<rep, period>,能够表示负时长 |
time_point |
std::chrono::time_point<std::chrono::gps_clock> |
成员常量
constexpr bool is_steady
[静态]
|
若时间间隔计次始终为常数,即纵使在调整了外部时钟的情况下,调用 now() 的返回值亦单调递增,则为 true;否则为 false (公开静态成员常量) |
成员函数
[静态]
|
返回表示当前时间点的 std::chrono::time_point (公开静态成员函数) |
[静态]
|
转换 gps_time 为 utc_time (公开静态成员函数) |
[静态]
|
转换 utc_time 为 gps_time (公开静态成员函数) |