2012-07-05 52 views
2

我將一個天真的日期時間對象轉換爲另一個時區。但它不包括DST(夏令時)。這是我做的:python pytz,DST不包含在轉換中

#my datetime object 
datetime_from #contains: 05, 07, 2012, 10 00 --- (05-07-2012 10:00) 

#Add timezone 
ams = datetime_from.replace(tzinfo=pytz.timezone('Europe/Amsterdam')) 

print(ams.hour) #prints 10 

#convert to GMT 
gmt = datetime.astimezone(ams, pytz.timezone("GMT")) 

print(gmt.hour) #prints 9 

問題是,gmt.hour應該打印8而不是9因爲DST。

是否有一種簡單的方法在此轉換中包含DST?

回答

4
>>> pytz.timezone('Europe/Amsterdam').localize(datetime(2012, 7, 5, 10, 0)).astimezone(pytz.timezone('GMT')) 
datetime.datetime(2012, 7, 5, 8, 0, tzinfo=<StaticTzInfo 'GMT'>) 
+0

謝謝,工作出色! :-) – w00 2012-07-05 09:05:07

相關問題