Прямо сейчас я использую
import datetime
print(datetime.datetime.now().strftime("%X"))
для отображения текущего времени в виде строки.
Проблема в том, что мой компьютер работает в часовом поясе Europe/Berlin
, и смещение +2 в UTC здесь не учитывается.
Вместо 19:22:26
должно отображаться 21:22:26
Также отличается от других ответов, которые я нашел здесь, я не храню его, звоня
datetime.datetime(2014, 7, 10, 18, 44, 59, 193982, tzinfo=<UTC>)
но
datetime.datetime.now()
поэтому я попытался (и не смог) сделать следующее:
>>> from pytz import timezone
>>> datetime.datetime.now().astimezone(timezone('Europe/Berlin'))
ValueError: astimezone() cannot be applied to a naive datetime
Изменить:
Ответ
Не могу опубликовать как ответ, так как этот вопрос помечен как закрытый
Сервер, с которым у меня возникла эта проблема, больше не существует. Во всяком случае, вот некоторые другие вещи, которые стоит проверить:
- Правильно ли настроен часовой пояс вашего сервера/системы?
- Виртуальные машины или док-контейнеры могут быть не синхронизированы с хостом, это стоит проверить.
- Время на этом компьютере правильное? У вас не осталось +2 часов после смены часового пояса?