回答
datetime.strptime()
參考:我從Twitter的API獲得這個格式http://docs.python.org/library/time.html#time.strptime
所以,爲什麼不包括一些實際解析格式的示例代碼沒有錯誤使用? – ThiefMaster 2012-07-09 20:20:50
然後你需要轉換爲Unix時間戳...看到http://stackoverflow.com/questions/2775864/python-datetime-to-unix-timestamp @thiefmaster ...我認爲,希望的答案足以讓他他想成爲什麼樣的人,以及讓他知道其他格式 – 2012-07-09 20:21:03
@JoranBeasley:看到我對這個問題的評論。他的格式顯然不能解析。 – ThiefMaster 2012-07-09 20:24:40
最好的選擇是使用dateutil.parser.parse()
它給你一個datetime
帶有適當時區信息的對象:
>>> import dateutil.parser
>>> dt = dateutil.parser.parse('Mon Jul 09 09:20:28 +0200 2012')
>>> dt
datetime.datetime(2012, 7, 9, 9, 20, 28, tzinfo=tzoffset(None, 7200))
現在你只需要把它轉換成UNIX時間戳:使用email.utils.parsedate_tz
>>> import time
>>> int(time.mktime(dt.timetuple()))
1341822028
你擁有的格式也可以輕鬆解析:
>>> import datetime
>>> import email.utils
>>> parts = email.utils.parsedate_tz('Mon Jul 09 09:20:28 +0200 2012')
>>> dt = datetime.datetime(*parts[:6]) - datetime.timedelta(seconds=parts[-1])
>>> str(dt)
'2012-07-09 07:20:28'
這實際上是如何在Python 3.3中實現email.utils.parsedate_to_datetime
(如果您想複製&將其粘貼到您的項目中,請將re將__parsedate_tz
與parsedate_tz
從email.utils
):
def parsedate_to_datetime(data):
if not data:
return None
*dtuple, tz = __parsedate_tz(data)
if tz is None:
return datetime.datetime(*dtuple[:6])
return datetime.datetime(*dtuple[:6],
tzinfo=datetime.timezone(datetime.timedelta(seconds=tz)))
如果時區被稱爲是永遠+0000,你可以使用:
time.strptime('Mon Jul 09 09:20:28 +0000 2012', '%a %b %d %H:%M:%S +0000 %Y')
這返回datetime結構。如果您需要紀元以來)UNIX秒,通過time.mktime(運行,像這樣的:如果
>>> time.mktime(time.strptime('Mon Jul 09 09:20:28 +0000 2012', '%a %b %d %H:%M:%S +0000 %Y'))
1341818428.0
或time.gmtime()確實是時區爲UTC始終。
- 1. 如何將此日期時間格式轉換爲unix時間戳
- 2. 如何在UNIX中將UNIX時間戳轉換爲EST時間?
- 3. 如何將時間戳轉換爲php中的unix時間戳?
- 4. Python - 如何將此時間戳格式轉換爲日期時間?
- 5. 將日期時間格式轉換爲Unix時間戳Pandas
- 6. Python:將Varbinary類型的時間戳轉換爲unix時間戳
- 7. 將時間轉換爲Unix時間戳
- 8. 如何在ISO中將ISO8601時間戳轉換爲unix時間?
- 9. 如何將UTC時間轉換爲Unix時間戳在swift中?
- 10. 將UNIX時間戳轉換爲所需的任何格式?
- 11. 在Python中將Unix時間戳轉換爲Django中的人類格式
- 12. 轉換Unix時間戳STR和STR到UNIX時間戳在python
- 13. 將日期時間轉換爲python中的unix時間戳
- 14. 將http請求時間轉換爲Python中的unix時間戳
- 15. 轉換爲unix時間戳Python
- 16. 將Unix時間戳轉換爲時區?
- 17. toDateString()不工作將unix時間戳轉換爲可讀格式?
- 18. 將datetime轉換爲unix時間戳
- 19. 將unix時間戳轉換爲julian
- 20. 將Unix時間戳轉換爲MySQL DATETIME
- 21. 將UTC轉換爲Unix時間戳
- 22. MySQL將datetime轉換爲Unix時間戳
- 23. 將db2 datestamp轉換爲Unix時間戳
- 24. 將日期轉換爲UNIX時間戳
- 25. 將時間戳轉換爲nsdate格式
- 26. Python 2.7將標準unix時間戳轉換爲紀元時間
- 27. 如何在MySql中將unix時間戳轉換爲UTC日期?
- 28. 如何在Redshift中將此特定時間戳格式轉換爲UTC?
- 29. 如何將格式「YYYY-MM-DD hh:mm:ss」中的日期轉換爲UNIX時間戳
- 30. 如何將Etc/GMT + 2時區中的時間戳轉換爲unix時間戳?
您需要解析它:http://docs.python.org/library/datetime.html#strftime-strptime-behavior – Blender 2012-07-09 20:16:13
請參閱http://devpython.com/2011/08/11/convert -utc-date-string-to-unix-timestamp/ – 2012-07-09 20:18:56
@Blender:OP的格式似乎很棘手。對於'+ 0000',他需要'%z',但是會導致'ValueError:'z'格式爲'%a%b%d%H:%M:%S%z%Y''''的指令不正確 – ThiefMaster 2012-07-09 20:22:49