2012-07-05 27 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

相关问题