Python: преобразование одного часового пояса в другой приводит к странной разнице между часами и не целыми числами

Я просто пытаюсь взять наивное время, присвоить ему местный часовой пояс, а затем преобразовать его в UTC.

Я использую следующий код:

        create_time_local = parser.parse(timestring).replace(tzinfo=timezone('America/Chicago'))
        create_time_utc = create_time_local.astimezone(timezone('UTC'))

print('+++++++++' + timestring + '++++++++')
        print('*****************' + create_time_local.strftime(fmt) + '***************')
        print('-----' + create_time_utc.strftime(fmt) + '-----')

Я не могу понять, почему, но вот вывод:

+++++++++ 20.09.15 2:00:00 AM ++++++++

***************** 20.09.15 02:00:00 *************** ----- 09 / 20/15 07:51:00 утра -----

Правильный ответ, конечно, должен быть 7:00 утра. Я не могу понять, почему это выходит 7:51 утра.


Альтернативный рабочий код помимо связанного кода в дубликате:

        create_time_local_naive = parser.parse(timestring)
        local_tz = timezone('America/Chicago')
        create_time_local = local_tz.localize(create_time_local_naive)
        create_time_utc = create_time_local.astimezone(timezone('UTC'))

0 ответов

Другие вопросы по тегам