代码之家  ›  专栏  ›  技术社区  ›  Rose

如何在python中将J2000时间转换为UTC?

  •  4
  • Rose  · 技术社区  · 7 年前

    输入:

    期望输出:

    3 回复  |  直到 7 年前
        1
  •  7
  •   MSeifert    7 年前

    如果你想使用 astropy 你可以用 Time and TimeDelta from astropy.time :

    >>> from astropy.time import TimeDelta, Time
    >>> from astropy import units as u
    >>> (Time(2000, format='jyear') + TimeDelta(559889620.293*u.s)).iso
    '2017-09-28 16:53:35.293'
    

    这个 Time(2000, format='jyear')

        2
  •  5
  •   Mark Ransom    7 年前

    timedelta 到一个基地 datetime .

    import datetime
    datetime.datetime(2000, 1, 1, 12, 0) + datetime.timedelta(seconds=559889620.293)
    

    datetime.datetime(2017, 9, 28, 16, 53, 40, 293000)
    
        3
  •  5
  •   wim    7 年前

    偏移量是恒定的,因此您可以只添加它:

    >>> OFFSET = datetime(2000,1,1,12) - datetime(1970,1,1)
    >>> datetime.utcfromtimestamp(559889620.293) + OFFSET
    datetime.datetime(2017, 9, 28, 16, 53, 40, 293000)