2017-08-14 40 views
-1

我有一個數據幀的UTC時間列時間,我想在本地時間轉換它。我做了這樣的代碼:datetime.strptime與本地時區

from_zone = tz.tzutc() 
to_zone = tz.tzlocal() 
# utc = datetime.utcnow() 
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S') 
utc = utc.replace(tzinfo=from_zone) 
# Convert time zone 
central = utc.astimezone(to_zone) 

然後我把它保存在一個字符串中的文本文件中。 因此字符串具有以下格式:

2011-01-21 02:37:21 + 02:00

然後我加載另一個程序的文本文件,我想將它轉換成與本地時區的datetime格式

所以我試圖用datetime.strptime()%Z參數:

datetime.strptime(central,'%Y-%m-%d %H:%M:%S.%f Paris, Madrid') 

Paris, Madrid是命令datetime.tzname(central)給了我什麼。 它不工作,我沒有找到任何關於如何使用%Z的解釋。

如果您有任何解釋,請幫助我。

回答

0

datetime.strptime()函數與此有點不同。

第一個參數是帶有時間信息的字符串,第二個參數是某種類型的格式,允許函數將字符串轉換爲日期時間對象。

'.%f Paris, Madrid'正在使函數認爲這些詞出現在字符串中,因此格式和字符串不匹配時會出現錯誤。

正確的代碼是:

datetime.strptime(central,'%Y-%m-%d %H:%M:%S%z')