std::chrono::tai_clock
<chrono>
The clock std::chrono::tai_clock
is a Clock that represents International Atomic Time (TAI). It measures time since 00:00:00, 1 January 1958, and is offset 10 seconds ahead of UTC at that date (i.e., its epoch, 1958年01月01日 00:00:00 TAI, is 1957年12月31日 23:59:50 UTC).
Leap seconds are not inserted into TAI. Thus, every time a leap second is inserted into UTC, UTC falls another second behind TAI. As of December 2017, UTC is 37 seconds behind TAI, reflecting the 10-second initial offset and the 27 leap seconds inserted between 1958 and 2017. Thus, 2018年01月01日 00:00:00 UTC is equivalent to 2018年01月01日 00:00:37 TAI.
tai_clock
meets the Clock requirements. It does not meet the TrivialClock requirements unless the implementation can guarantee that now() does not throw an exception.
Time point family
std::chrono
using tai_time = std::chrono::time_point <std::chrono::tai_clock, Duration>;
[edit] Member types
rep
signed arithmetic type representing the number of ticks in the clock's duration
period
a std::ratio type representing the tick period of the clock, in seconds
duration
std::chrono::duration <rep, period>, capable of representing negative durations
time_point
std::chrono::time_point <std::chrono::tai_clock>
[edit] Member constants
(public static member constant)
[edit] Member functions
(public static member function) [edit]