Сегодня разбирался с datetime.fromtimestamp() и обнаружил странное поведение
>>> datetime.datetime.fromtimestamp(1724137892)
datetime.datetime(2024, 8, 20, 10, 11, 32)
Время (аргумент функции) - UTC epoch. Почему питоновская функция добавила(именно добавила) 3 часа к моему времени? Да я нахожусь в MSK+3, почему он тогда добавил +3 и оставил naive? Он же по факту изменил данные. Если сменить часовой пояс на пк, то и вывод функции изменится.
3 случая приемлемы по моему мнению
- Привести в UTC и оставить naive
- Привести в UTC и сделать aware (UTC)
- Привести к локальному и сделать aware(local timezone)
Почему же он выбрал самый неправильный способ?
P.S. Если явно передавать временную зону, то применяя ее рассчитывается все правильно, я спрашиваю именно про вызов функции с 1 аргументом