为了将unix时间戳字符串转换为可读日期,我遵循了以下答案。
from datetime import datetime ts = int("1284101485") print(datetime.utcfromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S'))
当我提供1607111882000
时作为输入;它打印CCD_ 2。但在以下网站(https://www.unixtimestamp.com/index.php),输出如下:
1607111882000
Is equivalent to:
05/06/52897 @ 11:13pm (UTC)
52897-05-06T23:13:20+00:00 in ISO 8601
Mon, 06 May 52897 23:13:20 +0000 in RFC 822, 1036, 1123, 2822
Monday, 06-May-97 23:13:20 UTC in RFC 2822
52897-05-06T23:13:20+00:00 in RFC 3339
为什么会有这种差异,哪个是正确的?我应该怎么做才能获得与unixtimestamp.com网站相同的结果?
该网站可能正在使用time.ctime
或等效功能:
>>> time.ctime(time.mktime(time.gmtime(1607111882000)))
'Mon May 6 23:13:20 52897'
至于使用这个词是否正确,还有待商榷。日期可能不是100%准确。
对于你的数字,我认为你用毫秒而不是秒,因为在我的机器上,它会给出一个错误(ValueError: year is out of range
(,但除以1000会给出两个函数的正确日期:
>>> ts = 1607111882
>>> print(datetime.utcfromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S'))
2020-12-04 19:58:02
>>> time.ctime(time.mktime(time.gmtime(ts)))
'Fri Dec 4 19:58:02 2020'
>>>
你说得对。和unixtimestamp(UT(错误。我认为UT错误在秒到毫秒之间。
允许访问https://unixtime.org/,此网站支持Unix时间戳(以秒、毫秒、微秒和纳秒为单位(。
示例:1607111882000结果:格式化毫秒(1/1000秒(GMT 2020年12月4日星期五19:58:02 GMT+0000相对3个月前