Python Glossary English

все Python 3datetimeфункция

datetime.datetime.astimezone()

методы datetime

Конвертирует aware-datetime в другой часовой пояс. Если объект naive, считает его локальным.

Синтаксис

dt.astimezone(tz=None)

Метод не сдвигает сам момент времени, а лишь пересчитывает поля под другой пояс — точка на оси времени остаётся прежней, меняются только видимые часы и tzinfo. Главная ловушка — вызвать его на naive-объекте, который на деле хранит UTC: Python примет его за локальное время машины и сдвинет неверно. Чтобы просто пометить значение поясом без пересчёта, нужен replace(tzinfo=...), а astimezone() — уже для конвертации между поясами.

Примеры

from datetime import datetime, timezone, timedelta
utc = datetime(2024, 6, 17, 10, 0, tzinfo=timezone.utc)
msk = timezone(timedelta(hours=3))
msk_dt = utc.astimezone(msk)
print(msk_dt)  # 2024-06-17 13:00:00+03:00

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности