1

伙计们,我如何将以下字符串转换为 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 时间戳转换回上述格式?

谢谢!

4

4 回答 4

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 '
于 2013-10-03T16:31:19.857 回答
3
>>> import time
>>> int(time.time())
1380817337
>>> 
于 2013-10-03T16:32:21.627 回答
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'
于 2014-06-13T16:58:51.350 回答
1

我今天早些时候在这里回答了一个非常相似的问题。让我知道这是否适合你。

基本上你需要看看time.strptime()time.mktime()功能。

在您的情况下,格式说明符将是:

time.strptime("Thu, 03 Oct 2013 14:55:44 GMT", "%a, %d %b %Y %X %Z")

于 2013-10-03T16:28:03.270 回答