Python 自1970年1月1日起已过去多少秒,包括闰秒?

Python 自1970年1月1日起已过去多少秒,包括闰秒?,python,datetime,time,leap-second,Python,Datetime,Time,Leap Second,Unix时间戳由以下公式给出: int(time.time()) 给出自1970年1月1日以来经过的秒数,不含闰秒 只是出于好奇,如何获得自该日期以来经过的真实秒数,包括闰秒?(即时间轴上这两个事件之间的距离) 注: 示例:时间戳范围867715190.000。。867715202.000表示13秒的“实际持续时间”(用计时器测量),因为1997年的今天有闰秒,而Unix时间戳只增加了+12 示例2:1970年1月1日至2020年1月1日(50年间隔中的12闰年)之间经过的实际时间是(36

Unix时间戳由以下公式给出:

int(time.time())
给出自1970年1月1日以来经过的秒数,不含闰秒

只是出于好奇,如何获得自该日期以来经过的真实秒数,包括闰秒?(即时间轴上这两个事件之间的距离)

注:

  • 示例:时间戳范围
    867715190.000。。867715202.000
    表示13秒的“实际持续时间”(用计时器测量),因为1997年的今天有闰秒,而Unix时间戳只增加了+12

  • 示例2:1970年1月1日至2020年1月1日(50年间隔中的12闰年)之间经过的实际时间是
    (365*50+12)*24*3600+数字闰秒
    ,而不是
    (365*50+12)*24*3600
    。但是我们看到,
    datetime.datetime.utcfromtimestamp((365*50+12)*24*3600)
    2020-01-01 00:00:00
    ,所以很明显,没有考虑闰秒

  • 链接到,以及


自1972-01-01以来,任何两个UTC时间戳之间的SI秒数要求访问UTC中引入的闰秒列表。此列表作为IANA tzdata分发的一部分提供,也可以从其他来源获得


需要谨慎,因为1970-01-01和1972-01-01之间的SI秒数为2x365x24x60x60+1.999918 SI秒,因为在1970年,官方时间不是由铯原子决定的,而是通过实际测量地球自转来确定的,因此,官方秒数是指太阳秒,而不是国际标准秒。

自1972-01-01以来,任何两个UTC时间戳之间的国际标准秒数要求访问引入UTC的闰秒列表。此列表作为IANA tzdata分发的一部分提供,也可以从其他来源获得


需要谨慎,因为1970-01-01和1972-01-01之间的SI秒数为2x365x24x60x60+1.999918 SI秒,因为在1970年,官方时间不是由铯原子决定的,而是通过实际测量地球自转来确定的,所以官方的秒数是平均太阳秒而不是SI秒。

根据我对你显示的两个链接的阅读,你确实得到了真实的秒数。只是从这个到日期的转换有点混乱(因为其中一些秒被指定为闰秒)。参见编辑的问题@aryamcarthy中的“示例2”,这表明闰秒没有被考虑在内。Unix时间戳是时间的表示形式(在闰秒的情况下是不唯一的!),但不是实际测量经过的时间。根据我对您显示的两个链接的阅读,您确实得到了真实的秒数。只是从这个到日期的转换有点混乱(因为其中一些秒被指定为闰秒)。参见编辑的问题@aryamcarthy中的“示例2”,这表明闰秒没有被考虑在内。Unix时间戳是时间的表示(在闰秒的情况下不是唯一的!),但不是经过时间的实际度量。