当我在冬季更改时间尝试将本地日期/时间转换为UTC日期/时间时遇到问题。
我有给定年份的每个日期的清单,步长为30分钟: 这些日期是当地时间。
然后我将它们转换为UTC。我用
local = pytz.timezone("Europe/Paris")
utc = pytz.timezone("UTC")
Local_time.astimezone(utc).strftime()
在一年的第一个更改小时内效果很好:
以下是当地时间(-1小时):
2019-03-31 01:00:00 2019-03-31 01:30:00
2019-03-31 01:30:00 2019-03-31 03:00:00
2019-03-31 03:00:00 2019-03-31 03:30:00
然后输出为:
2019-03-31T00:00:00Z 2019-03-31T00:30:00Z
2019-03-31T00:30:00Z 2019-03-31T01:00:00Z
2019-03-31T01:00:00Z 2019-03-31T01:30:00Z
所以这里一切都很好。
但是在第二个小时更改中:
以下是当地时间(+1小时):
2019-10-27 01:30:00 2019-10-27 02:00:00
2019-10-27 02:00:00 2019-10-27 02:30:00
2019-10-27 02:30:00 2019-10-27 02:00:00
2019-10-27 02:00:00 2019-10-27 02:30:00
2019-10-27 02:30:00 2019-10-27 03:00:00
然后在UTC中,它给了我:
2019-10-26T23:30:00Z 2019-10-27T00:00:00Z
2019-10-27T00:00:00Z 2019-10-27T00:30:00Z
2019-10-27T00:30:00Z 2019-10-27T00:00:00Z
2019-10-27T00:00:00Z 2019-10-27T00:30:00Z
2019-10-27T00:30:00Z 2019-10-27T02:00:00Z
我不知道它在任何地方都推迟了2个小时,而它应该从当地时间03:00起仅推迟1个小时?
答案 0 :(得分:0)
很抱歉问了这个问题,我实际上是自己发现的。
很明显很安静。 我将输入中的偏移量与dateutil库一起使用
成功了!