[英]Python converting date/time string with a timezone offset
我有類似Fri Aug 03 15:16:37 +0000 2012
東西,我想把它轉換為03-08-2012
。
我也有一些日期作為Unix時間戳,如1344006622
,在這里我只是做:
datetime.datetime.fromtimestamp(1344006622).strftime('%d-%m-%Y')
但這僅適用於Unix時間戳。 我怎樣才能轉換第一個?
dateutil
Python 2 據我所知,Python 2只為時區名稱提供了%Z
(大寫字母 Z),但是你有一個偏移量 ( +0000
),但是有一個名為dateutil的庫可以幫助你:
>>> import dateutil
>>> import dateutil.parser
>>> dateutil.parser.parse('Fri Aug 03 15:16:37 +0000 2012')
datetime.datetime(2012, 8, 3, 15, 16, 37, tzinfo=tzutc())
在上面的例子中,我使用Python 2.7.9和dateutil 2.4.2你可以檢查你的版本
>>> dateutil.__version__
'2.4.2'
您可以使用pip install python-dateutil
安裝它,或者如果要指定版本pip install python-dateutil==2.4.2
從Python 3.2開始,有一個%z
可以解析+0000
時區信息:
>>> from datetime import datetime
>>> datetime.strptime('Fri Aug 03 15:16:37 +0000 2012', '%a %b %d %H:%M:%S %z %Y')
datetime.datetime(2012, 8, 3, 15, 16, 37, tzinfo=datetime.timezone.utc)
有關所用參數的說明,請參閱此表
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.