我查看了cppreference.org (重点标注如下):
`std::chrono::utc_clock` 是表示协调世界时(UTC)的时钟。它测量自 1970 年 1 月 1 日,周四,00:00:00 UTC 后经过的时间, 包括闰秒。
与 `system_clock` 的定义进行比较:
`system_clock` 测量Unix时间(即自 1970 年 1 月 1 日,星期四,00:00:00 协调世界时(UTC)起, 不包括闰秒)。
在同一个系统中同时使用它们实际上是否可能?例如,如果通过 NTP 同步系统时钟,则服务器决定时间,该时间可以使用闰秒或不使用闰秒,但 C++ 库实现可能无法知道任何有关此问题的信息。或者,标准是否要求有一个数据库来记录何时引入闰秒?
`std::chrono::utc_clock` 是表示协调世界时(UTC)的时钟。它测量自 1970 年 1 月 1 日,周四,00:00:00 UTC 后经过的时间, 包括闰秒。
与 `system_clock` 的定义进行比较:
`system_clock` 测量Unix时间(即自 1970 年 1 月 1 日,星期四,00:00:00 协调世界时(UTC)起, 不包括闰秒)。
在同一个系统中同时使用它们实际上是否可能?例如,如果通过 NTP 同步系统时钟,则服务器决定时间,该时间可以使用闰秒或不使用闰秒,但 C++ 库实现可能无法知道任何有关此问题的信息。或者,标准是否要求有一个数据库来记录何时引入闰秒?
tai_clock
、gps_clock
和file_clock
呢?为什么utc_clock
如此特殊?标准是否要求数据库记录闰秒的引入时间?嗯,它有点这样要求。 - KamilCuk