Фон
Мне не удалось найти более глубокое объяснение реального источника значения времени, используемого Python. В большей части документации говорится, что она «получает значение из CPython», но не вдаваться в подробности о том, откуда она берется.
Некоторые страны недавно изменились или планируют изменить свою политику в области ТЛЧ. Это означает, что устройства в этих странах могут автоматически настраивать часовой пояс и отображать неверное время по Гринвичу до тех пор, пока они не будут обновлены с текущими политиками.
Само по себе это не страшно, потому что операционные системы обычно имеют отличный механизм для обновлений. Тем не менее, обновление Python в тех же системах иногда является очень темной областью. ОС может справиться с этим, или, возможно, Python связан с приложением. Возможно, ОС все еще получает критические обновления, но не обновления Python.
Проблема / Вопрос
Мы не контролируем, как Python обновляется с помощью нашего кода. Проблема заключается в том, что мы можем получить неправильную метку времени Unix от Python из-за устаревания времени по Гринвичу.
Если Python делегирует расчет времени по Гринвичу ОС, тогда мы можем быть спокойны. Если Python не делегирует его, то, возможно, нам придется заставить значение поступать из ОС (например, время +% s).
Таким образом, вопрос заключается в следующем: получает ли Python3 свое время по Гринвичу из ОС или из своих собственных расчетов, основанных на местном времени?