民间, 如何将以下字符串转换为unix纪元时间戳?
Thu, 03 Oct 2013 14:55:44 GMT
我可以通过以下方式提取本地http时间戳:
In [53]: now = datetime.now()
In [54]: stamp = mktime(now.timetuple())
In [55]: print format_date_time(stamp)
Thu, 03 Oct 2013 16:24:59 GMT
以及如何将生成的unix时间戳转换回上述格式?
谢谢!
答案 0 :(得分:3)
转换为时间戳:
from datetime import datetime
ts = datetime.strptime("Thu, 03 Oct 2013 14:55:44 GMT", "%a, %d %b %Y %X %Z").strftime("%s")
print ts # '1380804944'
转换回原始格式:
from datetime import datetime
dtime = datetime.fromtimestamp(int('1380804944')).strftime("%a, %d %b %Y %X %Z GMT")
print dtime # 'Thu, 03 Oct 2013 14:55:44 '
答案 1 :(得分:2)
>>> import time
>>> int(time.time())
1380817337
>>>
答案 2 :(得分:2)
>>> import email
>>> time.mktime(email.utils.parsedate("Thu, 03 Oct 2013 14:55:44 GMT"))
1380804944.0
然后回来:
>>> f = 1380804944.0
>>> email.utils.formatdate(f, False, True)
'Thu, 03 Oct 2013 12:55:44 GMT'
答案 3 :(得分:1)
我今天早些时候回答了一个非常类似的问题here。如果这对您有用,请告诉我。
基本上,您需要查看time.strptime()
和time.mktime()
函数。
在您的情况下,格式说明符为:
time.strptime("Thu, 03 Oct 2013 14:55:44 GMT", "%a, %d %b %Y %X %Z")