0

所以我刚刚了解了闰秒,起初我想“哦,好吧,只需使用 unix 时间戳”然后我读到他们根据一天中的特定秒数调整闰秒以使其与太阳对齐. 见鬼?!

所以我想这不好。是否有严格基于自 1970 年 1 月第一个午夜以来的秒数的时间格式,或某个类似的锚点时间,它不会尝试与我们星球的不稳定自转同步?

编辑:动机:无论一天中的时间或时区如何,都有准确的时间,并且不可能有一个模棱两可的时间。坦率地说,我很惊讶这不是事实,听起来无论谁决定在闰秒中添加,都没有考虑到他们在软件中添加了不必要的小错误。

4

2 回答 2

1

你问的是时间标准。在这方面,了解有关该标准打算如何使用的背景非常重要。

直接回答您的问题,您所描述的时间标准是国际原子时(TAI)。它是世界上所有计时机构(NIST、NPL 等)用来协调其时钟的标准。它对这个目的非常有用,因为这就是它的设计目的。它没有闰秒。

但是,TAI 很少直接用于计算或业务。对我们大多数人来说唯一重要的时间标准是协调世界时(UTC)。这是您计算机的系统时间跟踪的内容,我们通常使用NTP同步到此标准。它确实有闰秒。

PTP协议可用于将计算机时钟与TAI或 UTC同步。这是因为 TAI 是基础,但协议单独携带 UTC 和 TAI 之间的当前偏移量。

大多数系统不显示闰秒。相反,它们通常在同步期间被吸收。换句话说,在闰秒发生后,系统可能会与 UTC 偏差一秒,直到下一次同步。但是,此行为可能因系统和平台而异。有些人可能会选择直接显示它。有些人可能会在一天中“抹掉”闰秒。

Unix 时间戳的有趣之处在于它们都有闰秒和没有闰秒,这取决于您如何解释问题。它们确实有闰秒,因为时间戳与 UTC 对齐,因此您解释的任何时间戳都包括迄今为止发生的所有闰秒。但是它们没有闰秒,因为在计算中没有考虑它们。1970-01-01T00:00:00Z该计算是自 Unix 纪元 ( )以来的精确秒数。换句话说,闰秒本身的 Unix 时间戳(例如2016-12-31T23:59:60Z)是不明确的。

最终,在日常计算中,您可能不应该选择 UTC 以外的标准或担心 Unix Timestamp 闰秒的模糊性,除非您有闰秒成为问题的非常具体的用例。

于 2019-05-03T17:11:30.047 回答
1

与我所知最接近的是天文钟,例如


我觉得我应该添加这个。这些时钟很少能满足大多数日常需求。原因是人类活动在很大程度上依赖于日出日落周期(即使是一直存在的夏令时周期也有其用处),除此之外,大多数典型用户认为“时间点”是“年、月” ,天,小时,...”而不是“这是相对于固定点的位置”。

因此,如果您在问题中添加一些上下文,可能会有更适合您需求的答案。

于 2019-05-03T14:58:48.150 回答