Метод tz_convert
Метод tz_convert применяется к Series
с типом datetime через аксессор dt
и преобразует временные метки из одного часового
пояса в другой. Первым параметром передаётся
название целевого часового пояса. Метод требует,
чтобы исходная серия уже имела заданный часовой
пояс, иначе необходимо предварительно использовать
метод tz_localize.
Синтаксис
ser.dt.tz_convert(tz)
Пример
Давайте создадим серию с временными метками в часовом поясе UTC и преобразуем её в московское время:
import pandas as pd
ser = pd.Series(
pd.date_range('2026-01-01 12:00:00', periods=3, freq='h')
).dt.tz_localize('UTC')
res = ser.dt.tz_convert('Europe/Moscow')
print(res)
Результат выполнения кода:
0 2026-01-01 15:00:00+03:00
1 2026-01-01 16:00:00+03:00
2 2026-01-01 17:00:00+03:00
dtype: datetime64[ns, Europe/Moscow]
Пример
Преобразуем время из нью-йоркского часового пояса в лондонский:
import pandas as pd
ser = pd.Series(
pd.date_range('2026-06-01 09:00:00', periods=2, freq='h')
).dt.tz_localize('America/New_York')
res = ser.dt.tz_convert('Europe/London')
print(res)
Результат выполнения кода:
0 2026-06-01 14:00:00+01:00
1 2026-06-01 15:00:00+01:00
dtype: datetime64[ns, Europe/London]
Пример
Если серия не содержит информации о часовом
поясе, метод tz_convert вызовет ошибку.
Сначала необходимо использовать метод
tz_localize:
import pandas as pd
ser = pd.Series(
pd.date_range('2026-01-01 10:00:00', periods=2)
)
# ser.dt.tz_convert('Europe/Moscow') # ошибка
ser = ser.dt.tz_localize('UTC')
res = ser.dt.tz_convert('Asia/Tokyo')
print(res)
Результат выполнения кода:
0 2026-01-01 19:00:00+09:00
1 2026-01-01 20:00:00+09:00
dtype: datetime64[ns, Asia/Tokyo]
Смотрите также
-
метод
tz_localize,
который назначает часовой пояс временным меткам -
атрибут
tz,
который возвращает текущий часовой пояс серии -
атрибут
year,
который возвращает год из временных меток -
метод
normalize,
который приводит время к полуночи