Присвоить переменную ZoneInfo («США/Восточная») в начале и повторно использовать ее навсегда без проблем с переходом на Python

Программы на Python
Anonymous
Присвоить переменную ZoneInfo («США/Восточная») в начале и повторно использовать ее навсегда без проблем с переходом на

Сообщение Anonymous »

Я неоднократно использую один и тот же часовой пояс в своем коде Python при создании объектов datetime.
До сих пор я просто каждый раз создавал новый объект ZoneInfo, примерно так:

Код: Выделить всё

dt = datetime.now(tz=ZoneInfo("US/Eastern"))
Я думал, что накладные расходы будут того стоить, чтобы обеспечить точное отслеживание летнего времени.
Но теперь я часто использую его, включая повторение сотен часто дает результаты.
И мне интересно, если я просто создам файл с часовыми поясами, которые я обычно использую, что-то вроде:

Код: Выделить всё

# compononets/common/freq_tz.py
from zoneinfo import ZoneInfo
tz_us_east = ZoneInfo("US/Eastern")
и импортируйте его в свой код:

Код: Выделить всё

from components.common.freq_tz import *
чтобы постоянно использовать ее без повторного создания объекта каждый раз.
Меня беспокоит только то, что программа может работать неделями или месяцами, и в это время переход на летнее время может изменить разницу часов часового пояса с UTC. Если я все еще использую тот же объект, который создал в начале, недели или месяцы назад... Я не уверен, вызовет ли это проблемы при переходе на летнее время.
У меня нет Мне не удалось проверить это, так как это необходимо делать как раз тогда, когда происходит переход на летнее время.

Подробнее здесь: https://stackoverflow.com/questions/786 ... -in-perpet

Вернуться в «Python»