【问题标题】: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)