簡體   English   中英

Python使用時區偏移量轉換日期/時間字符串

[英]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

從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.

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