pytz: Почему, нормализуют необходимый при преобразовании между часовыми поясами?

Оба. Ваш код должен сбалансировать обоих; удобочитаемость и производительность. Поскольку игнорирование любого завинтит ROI проекта, который в конце дня является всем, что имеет значение для Вашего босса.

Плохая удобочитаемость приводит к уменьшенной пригодности для обслуживания, которая приводит к большему количеству ресурсов, потраченных на обслуживание, которое приводит к более низкому ROI.

Плохие результаты проверки производительности в уменьшенных инвестициях и клиентуре, которая приводит к более низкому ROI.

23
задан Deniz Dogan 14 September 2009 в 17:22
поделиться

2 ответа

Из документации pytz:

Кроме того, если вы выполняете арифметику даты по местному времени, которое пересекает границы летнего времени, результаты могут быть в неправильном часовом поясе (т. Е. Вычесть 1 минуту из 2002 -10-27 1:00 EST, и вы получите 2002-10-27 0:59 EST вместо правильного 2002-10-27 1:59 EDT). Чтобы исправить это, предоставляется метод normalize (). К сожалению, эти проблемы не могут быть решены без изменения реализации Python datetime.

10
ответ дан 29 November 2019 в 03:05
поделиться

В документах говорится, что нормализация используется как обходной путь для проблем с переходом на летнее время:

Кроме того, если вы выполняете date арифметика по местному времени, которое пересекает границы DST, результаты могут быть в неправильном часовом поясе (то есть вычтите 1 минуту из 27.10.2002 1:00 EST, и вы получите 2002-10-27 0:59 EST вместо правильного 2002 -10-27 1:59 EDT). Для исправления этого предоставляется метод normalize ().

Таким образом, он используется для исправления некоторых крайних случаев, связанных с DST. Если вы не используете часовые пояса DST (например, UTC), тогда нет необходимости использовать нормализацию.

Если вы не используете его, ваше преобразование может потенциально быть на один час меньше при определенных обстоятельствах.

6
ответ дан 29 November 2019 в 03:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: