【问题标题】:Why my Python timestamp to datetime conversion is wrong?为什么我的 Python 时间戳到日期时间的转换是错误的?
【发布时间】:2018-12-21 03:17:59
【问题描述】:

门户 epochconverter.com 将时间戳 1531423084013 转换为 2018 年 7 月 12 日星期四下午 3:18:04.013 GMT-04:00 DST 的正确日期。但是在 Python 2.7.12 中我得到了以下错误

>>> timestamp=1531423084013

>>> time.ctime(timestamp).rsplit(' ', 1)[0]
'Wed Nov 12 00:06:53'

如何使它正确?

【问题讨论】:

    标签: python-2.7 timestamp epoch


    【解决方案1】:

    1531423084013 是毫秒而不是秒。 正如您从 epochconverter.com 看到的,小时是:3:18:04.013,所以秒部分是 4.013,这个站点以秒和毫秒为单位处理时间(似乎现在输入有 13 位而不是 10 位的时间)。 但是来自 python 的 time.ctime() 只处理以秒为单位的时间,这就是为什么当您输入以毫秒为单位的时间时会得到错误的答案(在我的系统中它会抛出超出范围)。

    所以你必须将你的时间(以毫秒为单位)除以 1000:

    time.ctime(1531423084)
    'Thu Jul 12 21:18:04 2018'
    

    (我的时区是UTC+0200)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-04
      • 2020-06-15
      • 1970-01-01
      • 2016-10-11
      • 1970-01-01
      • 1970-01-01
      • 2019-02-03
      • 2016-03-21
      相关资源
      最近更新 更多