2017-08-03 72 views
2

我試圖改變UTC美國/聖保羅的時區沒有關鍵字參數,但我得到這個錯誤:類型錯誤:更換()發生在改變時區

TypeError: replace() takes no keyword arguments 

這是我的代碼:

import pytz 

local_tz = pytz.timezone('America/Sao_Paulo') 
local_dt = candles[0]['time'].replace(tzinfo=pytz.utc).astimezone(local_tz) 

蠟燭時間:

>>> candles[0]['time'] 
u'2017-08-03T00:03:00.000000Z' 

我怎樣才能解決這個問題?

回答

5

您需要將您的candles[0]['time']這是一個unicode字符串轉換爲datetime對象。

下面是一個例子:

import datetime, pytz 

a = u'2017-08-03T00:03:00.000000Z' 
local_tz = pytz.timezone('America/Sao_Paulo') 
local_dt = datetime.datetime.strptime(a, '%Y-%m-%dT%H:%M:%S.000000Z').replace(tzinfo=pytz.utc).astimezone(local_tz) 
print local_dt 

輸出:

2017-08-02 21:03:00-03:00