Skip to content

GB333 27.02.2.1 Correctly define epoch for utc_clock / utc_timepoint LWG 3316 #329

@wg21bot

Description

@wg21bot

UTC epoch is not correctly defined
UTC has an officially recorded epoch of 1/1/1972 00:00:00 and is 10 seconds behind TAI.
This can be confirmed through reference to the BIPM (the body that oversees international metrology)
https://www.bipm.org/cc/CCTF/Allowed/18/CCTF_09-32_noteUTC.pdf
Specifically page 6
"The defining epoch of 1 January 1972, 0 h 0 m 0 s UTC was set 10 s behind TAI, which was the approximate accumulated difference between TAI and UT1 since the inception of TAI in 1958, and a unique fraction of a second adjustment was applied so that UTC would differ from TAI by an integral number of seconds. The recommended maximum departure of UTC from UT1 was 0.7 s. The term “leap second” was introduced for the stepped second."

Proposed change:
utc_clock and utc_timepoint should correctly report relative to the official UTC epoch.
27.2.2.1 footnote 1 should read
In contrast to sys_time, which does not take leap seconds into account, utc_clock and its associated time_point, utc_time, count time, including leap seconds, since 1972-01-01 00:00:00 UTC. [Example:
clock_cast<utc_clock>(sys_seconds{sys_days{1972y/January/1}}).time_since_epoch() is 0s.
clock_cast<utc_clock>(sys_seconds{sys_days{2000y/January/1}}).time_since_epoch()
is 883'612'822, which is 10’197 * 86’400s + 22s.
— end example]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions