Метод tz_localize
Метод tz_localize применяется к объекту Timestamp
и позволяет привязать к временной метке конкретный часовой пояс.
Метод возвращает новый объект Timestamp с указанным
часовым поясом. Первым параметром передаётся строка с названием
часового пояса из базы данных IANA (например, 'Europe/Moscow'
или 'UTC'). Вторым параметром можно указать способ обработки
неоднозначных моментов времени (например, при переходе на
летнее время) с помощью аргумента ambiguous.
Синтаксис
timestamp.tz_localize(tz, ambiguous='raise')
Где tz - строка с названием часового пояса,
а ambiguous определяет поведение при неоднозначности.
Пример
Давайте создадим временную метку и привяжем к ней часовой пояс UTC:
import pandas as pd
ts = pd.Timestamp('2026-01-01 12:00:00')
res = ts.tz_localize('UTC')
print(res)
Результат выполнения кода:
2026-01-01 12:00:00+00:00
Пример
Теперь привяжем часовой пояс Москвы к той же временной метке:
import pandas as pd
ts = pd.Timestamp('2026-01-01 12:00:00')
res = ts.tz_localize('Europe/Moscow')
print(res)
Результат выполнения кода:
2026-01-01 12:00:00+03:00
Обратите внимание, что значение времени осталось прежним,
но добавилось смещение +03:00 относительно UTC.
Пример
Если временная метка уже имеет часовой пояс, повторный вызов
tz_localize приведёт к ошибке. Чтобы изменить часовой
пояс, используйте tz_convert:
import pandas as pd
ts = pd.Timestamp('2026-01-01 12:00:00')
ts_utc = ts.tz_localize('UTC')
res = ts_utc.tz_convert('Europe/Moscow')
print(res)
Результат выполнения кода:
2026-01-01 15:00:00+03:00
В этом случае время изменилось с учётом смещения часовых поясов.
Пример
Рассмотрим обработку неоднозначных моментов времени (например, при переходе на летнее время). Создадим метку в момент перевода часов осенью 2026 года в США:
import pandas as pd
ts = pd.Timestamp('2026-11-01 01:30:00')
res = ts.tz_localize('America/New_York', ambiguous='infer')
print(res)
Результат выполнения кода:
2026-11-01 01:30:00-04:00
Параметр ambiguous со значением 'infer' пытается
определить правильный вариант на основе данных. Другие возможные
значения: 'NaT', 'raise' (по умолчанию)
и 'infer'.
Смотрите также
-
класс
Timestamp,
который представляет момент времени -
метод
tz_convert,
который преобразует время в другой часовой пояс -
метод
now,
который возвращает текущий момент времени -
атрибут
tz,
который возвращает часовой пояс объекта