std::chrono::gps_clock

来自cppreference.com
< cpp‎ | chrono
 
 
日期和时间工具
时间点
(C++11)
(C++20)
时长
(C++11)
时钟
(C++11)      
(C++20)
(C++20)
(C++20)
gps_clock
(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)
C 风格日期和时间
 
 
在标头 <chrono> 定义
class gps_clock;
(C++20 起)

时钟 std::chrono::gps_clock 是表示全球定位系统 (Global Positioning System, GPS) 时间的时钟 (Clock) 。它度量从 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
(函数模板)
std::formatter 的特化,按照提供的格式格式化 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_timeutc_time
(公开静态成员函数)
[静态]
转换 utc_timegps_time
(公开静态成员函数)