2017-01-18 64 views

回答

1

這是一個ISO 8601兼容字符串。這有各種libraries that can convert。但要將此與時區轉換結合使用,您可以:

import datetime as dt 
from pytz import timezone 

def convert_my_iso_8601(iso_8601, tz_info): 
    assert iso_8601[-1] == 'Z' 
    iso_8601 = iso_8601[:-1] + '000' 
    iso_8601_dt = dt.datetime.strptime(iso_8601, '%Y-%m-%dT%H:%M:%S.%f') 
    return iso_8601_dt.replace(tzinfo=timezone('UTC')).astimezone(tz_info) 

my_dt = convert_my_iso_8601('2017-01-17T20:02:45.767Z', timezone('MST')) 
+0

是否有將日光節省時間考慮在內的方法?上面的代碼不是 – rodee

+0

不考慮DST如何考慮? Z表示原始時間戳在祖魯語中。因此它沒有DST。因此,我認爲您唯一需要爲DST做的事情是應用一個包含一個時區的時區。因爲你有,所以我只用了MST。你有什麼時區? –

+0

我得到的輸入仍然是祖魯時間,我想用DST計算將它轉換爲MST。 – rodee

相關問題