在冬季更改期间将本地转换为UTC的问题

时间:2019-04-25 20:11:28

标签: python-3.x

当我在冬季更改时间尝试将本地日期/时间转换为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个小时?

1 个答案:

答案 0 :(得分:0)

很抱歉问了这个问题,我实际上是自己发现的。

很明显很安静。 我将输入中的偏移量与dateutil库一起使用

成功了!