7

我想知道如何将日期时间转换Wed Apr 24 19:25:06 2013 GMT为 Linux 时间戳1366831506000(13 位)] 并使用 python 反转。

例如:

Wed Apr 24 19:25:06 2013 GMT

1366831506000

并从

1366831506000

Wed Apr 24 19:25:06 2013 GMT
4

1 回答 1

12

从字符串到时间戳,使用time.strptime(),将结果struct_time元组传递给time.mktime(); 您的时间戳使用毫秒,而不是 UNIX 秒作为浮点值,因此您需要乘以 1000:

import time

datestr = "Wed Apr 24 19:25:06 2013 GMT"
time.mktime(time.strptime(datestr, "%a %b %d %H:%M:%S %Y %Z")) * 1000

在另一个方向,使用time.strptime(),传入struct_time由 创建的元组time.gmtime(),首先将时间戳除以 1000:

timestamp = 1366831506000
time.strftime("%a %d %b %Y %H:%M:%S GMT", time.gmtime(timestamp / 1000.0))

演示:

>>> datestr = "Wed Apr 24 19:25:06 2013 GMT"
>>> time.mktime(time.strptime(datestr, "%a %b %d %H:%M:%S %Y %Z")) * 1000
1366827906000.0
>>> timestamp = 1366831506000
>>> time.strftime("%a %d %b %Y %H:%M:%S GMT", time.gmtime(timestamp / 1000.0))
'Wed 24 Apr 2013 19:25:06 GMT'
于 2013-04-24T17:40:12.590 回答