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

大纪元时间转换上的年份错误

  •  2
  • user4358169  · 技术社区  · 10 年前

    我正在尝试使用Python转换纪元时间。然而,今年似乎总是错的。在下面的例子中,应该是2014年。

    import time
    timestamp = time.strftime("%a, %d %b %Y %H:%M:%S +0000", 
                        time.localtime(1415219530834))
    

    我做错了什么?

    我得到这样的结果:

    Sat, 09 Jul 46816 16:20:34 +0000
    
    4 回复  |  直到 10 年前
        1
  •  4
  •   pbkhrv    10 年前

    您传递的时间以毫秒为单位,但应该以秒为单位。除以1000

    import time
    timestamp = time.strftime("%a, %d %b %Y %H:%M:%S +0000", 
                        time.localtime(1415219530))
    

    结果:

    'Wed, 05 Nov 2014 15:32:10 +0000'

        2
  •  1
  •   davidism    10 年前

    您已传递了以毫秒为单位的时间戳,但 localtime 需要以秒为单位的值。

    time.localtime(1415219530834 / 1000)
    
        3
  •  1
  •   NIKHIL RANE    5 年前

    也试试这个

    import datetime
    datetime.datetime.fromtimestamp(your time in epoch/1000)
    

    转换纪元中的时间

    int(yourtime.strftime("%s"))*1000
    
        4
  •  0
  •   Donovan Solms    10 年前

    您将在Python中获得以毫秒为单位的大纪元。你需要在几秒钟内得到它才能正常工作。

    类似于

    import time
    mytime = 1415219530834
    seconds = int(mytime/1000)
    timestamp = time.strftime("%a, %d %b %Y %H:%M:%S +0000",time.localtime(seconds))