Как работает utcnow() без часовых поясов?
Я читаю на SO, что стандартная библиотека Python не определяет часовые пояса.
Кроме того, из документов даты и времени Python 2.7:
Обратите внимание, что конкретный класс tzinfo не предоставляется модулем datetime.
Тем не менее, призывая utcnow()
генерирует текущее время в UTC. Кроме того, Python может также предоставить текущее местное время с now()
, Я предполагаю, что это возможно только в том случае, если Python "знает" локальное смещение времени до UTC (чтобы вернуть правильные значения).
Но разве это не означает, что Python знает часовой пояс? Что мне не хватает?
1 ответ
Ваша ОС предоставляет текущий часовой пояс, а также время UTC.
Однако ОС не предоставляет другую информацию о часовом поясе, например, когда происходят переключения DST. Другими словами, вы можете получить текущее время в часовом поясе UTC, но не можете точно рассчитать местное время в течение года, так как смещение к UTC изменяется с переключениями летнего и зимнего времени.