簡體   English   中英

在Python中將HTTP請求時間轉換為Unix時間戳

[英]Converting http request time to unix timestamp in Python

伙計們,我如何將以下字符串轉換為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時間戳轉換回上述格式?

謝謝!

轉換為時間戳:

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 '
>>> import time
>>> int(time.time())
1380817337
>>> 
>>> 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'

我今天早些時候在這里回答了一個非常類似的問題。 讓我知道這是否適合您。

基本上,您需要查看time.strptime()time.mktime()函數。

在您的情況下,格式說明符為:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM