2017-09-25 27 views
0

我想用arrow解析字符串中的日期。我通過the documented way做到這一點:如何使用箭頭的字符串解析,並同時設置時區?

>>> arrow.get('2013-05-05 12:30:45', 'YYYY-MM-DD HH:mm:ss') 
<Arrow [2013-05-05T12:30:45+00:00]> 

字符串與時區+00:00解析。 是否可以強制該字符串的另一個時區?

轉換爲本地時區之後

>>> arrow.get('2013-05-05 12:30:45', 'YYYY-MM-DD HH:mm:ss').to('local') 
<Arrow [2013-05-05T14:30:45+02:00]> 

是不正確的解決方案,因爲日期第一解析以+00:00,然後轉換到另一個時區 - 和小時被相應地修改(這是預期的在GET方法.to()行爲)

+0

不確定,但從文檔你可以通過'tzinfo = tz.tzlocal()' – dnit13

+0

@ dnit13:你是對的。我沒有意識到可以在解析字符串時添加'tzinfo'(儘管我應該嘗試過)。如果你能把你的評論變成答案,我會很高興接受它。 – WoJ

回答

1

Passingtzinfo=tz.tzlocal()將做到這一點:

>>> import arrow 
>>> from dateutil import tz 
>>> arrow.get('2013-05-05 12:30:45', 'YYYY-MM-DD HH:mm:ss', tzinfo=tz.tzlocal()) 
<Arrow [2013-05-05T12:30:45+02:00]> 
相關問題