我想打印给定两个日期时间之间的所有时间,以考虑夏令时。在
这就是我的出发点:from datetime import date, timedelta as td, datetime
d1 = datetime(2008, 8, 15, 1, 1, 0)
d2 = datetime(2008, 9, 15, 1, 12, 4)
while(d1
d1 = d1 + td(hours=1)
print d1
但是我该怎么做才能节省夏令时呢。我该如何跳转或增加一小时的夏令时?在
编辑:
根据下面的建议,我写了以下代码,它仍然打印了2016年的夏令时。在
^{pr2}$
输出:2016-03-11 21:00:00-05:00
2016-03-11 22:00:00-05:00
2016-03-11 23:00:00-05:00
2016-03-12 00:00:00-05:00
2016-03-12 01:00:00-05:00
2016-03-12 02:00:00-05:00
2016-03-12 03:00:00-05:00
2016-03-12 04:00:00-05:00
2016-11-04 21:00:00-04:00
2016-11-04 22:00:00-04:00
2016-11-04 23:00:00-04:00
2016-11-05 00:00:00-04:00
2016-11-05 01:00:00-04:00
2016-11-05 02:00:00-04:00
2016-11-05 03:00:00-04:00
2016-11-05 04:00:00-04:00
编辑2:
期望结果:
三月份的时间会变短,凌晨2点变成凌晨3点。在2016-03-11 23:00:00-05:00
2016-03-12 00:00:00-05:00
2016-03-12 01:00:00-05:00
2016-03-12 03:00:00-05:00
在11月,凌晨2点增加了一个小时,因此凌晨2点重复,应该如下所示:2016-11-04 23:00:00-04:00
2016-11-05 00:00:00-04:00
2016-11-05 01:00:00-04:00
2016-11-05 02:00:00-04:00
2016-11-05 02:00:00-04:00
2016-11-05 03:00:00-04:00