【问题标题】:Why python time has 61 seconds为什么python时间有61秒
【发布时间】:2018-12-18 19:48:21
【问题描述】:

有没有人注意到 Python 日期时间中的秒间隔是 [00,61] 请参阅此页上的表格。 https://docs.python.org/3/library/time.html#time.strftime

为什么?

【问题讨论】:

  • 为了适应闰日,一年中的某一天也从 [1, 366] 开始。
  • -1 因为在它包含的链接中回答的问题 +6 是荒谬的。
  • "-1 因为在它包含的链接中回答的问题 +6 是荒谬的" 这个问题实际上并没有被链接回答。记录了闰秒,但这仅解释了问题的 一半

标签: python


【解决方案1】:

答案在脚注(2)的同一页上:

范围确实是 0 到 61;值 60 在表示闰秒的时间戳中有效,并且出于历史原因支持值 61。

“历史原因”在https://bugs.python.org/issue2568中有描述。

【讨论】:

  • 嗯,我太退出了,无法忽略解释。
  • 我刚刚意识到 Python 没有闰秒数据库(类似于时区的 tzinfo),因此无法验证某个闰秒是否合法......这个意味着转换为 Unix 时间是有损的:t1=time.strptime("30 Jun 1997 23:59:60", "%d %b %Y %H:%M:%S"); t2=time.strptime("01 Jul 1997 00:00:00", "%d %b %Y %H:%M:%S"),然后 t1 == t2 产生 False,但 calendar.timegm(t1) == calendar.timegm(t2) 产生 True
  • @berdario:您的示例(意外?)是正确的。有a leap second on 30 Jun 1997。并且在 POSIX 日中总是有 86400 秒,因此 calendar.timegm() 返回正确的结果 (the same POSIX timestamp occurs twice in this case)。
  • tz 数据库(可通过pytz Python 包获得)有一个闰秒列表。 You could use it, to check whether given time is a leap second.
  • 请读者注意:从来没有双闰秒,以后也不会。显然 Posix 错误地标准化了这一点,我们只剩下这个可憎的了。
【解决方案2】:

不存在双闰秒。一分钟不可能有62秒。 59,是的。 60,是的。 61,是的。 62,没有。

http://www.monkey.org/openbsd/archive2/tech/199905/msg00031.html

【讨论】:

  • 好吧,你能给出一个“反闰秒”的例子吗,例如一分钟是什么时候,有 59 秒而不是 60 秒?
  • 没有 59 秒分钟的例子,但理论上可能有。但是不能有“双闰秒”。
  • 允许双闰秒,只是迄今为止还没有。所以一分钟可能有 62 秒——只是还没有发生。
  • 克里斯,由于 ITU-R 的定义,神话中的“双闰秒”不可能发生。规格很难获得,有人误读了它们。在目前的系统下,永远不会出现双闰秒,而且出现 59 秒分钟的几率非常小。
  • 此答案中的链接已失效,但有this,似乎很好地涵盖了相关细节。
【解决方案3】:

可能是leap seconds的原因。

【讨论】:

    【解决方案4】:

    当您必须添加闰秒时,计算它会很有帮助。你可以在网上搜索闰秒。由于 python 中的第二个范围是0-61

    【讨论】:

    • 其实双闰秒最高可达61。
    • @plaes 这些存在的证据在哪里?只需连续发布两个闰秒月就足够了,无需进一步延长一分钟。
    • 到目前为止还没有。但闰秒无法预测。
    【解决方案5】:

    闰秒。

    过去一分钟有 62 秒。

    它会根据旋转速度变慢的世界进行调整。

    部分原因是潮汐。潮汐的能量来自地球和月球的自转。结果是世界变慢了。

    如果全球变暖,海洋会变得更热并膨胀。这就像一个溜冰者伸出双臂,旋转速度减慢。那还没有发生。海平面的测量与旋转测量不一致。这很可能是由于地球表面移动的问题,它远大于海平面上升。

    【讨论】:

    • 全局警告不对闰秒负责。这只是添加到一个已经很复杂的主题上的混乱。
    • 过去从未有过每分钟 62 秒,甚至在理论上也没有!
    猜你喜欢
    • 2023-03-20
    • 2010-10-02
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 2012-10-21
    • 2013-08-23
    • 2019-04-23
    相关资源
    最近更新 更多