Метод tz_convert
Метод tz_convert применяется к DatetimeIndex
и преобразует даты и время в указанный часовой пояс.
Первым параметром передаётся целевой часовой пояс в виде строки
или объекта pytz.timezone. Часовой пояс исходного индекса
должен быть задан. Если индекс не имеет часового пояса,
следует сначала использовать метод tz_localize.
Синтаксис
datetime_index.tz_convert(tz)
Пример
Преобразуем время из часового пояса 'Europe/Moscow'
в 'America/New_York':
import pandas as pd
idx = pd.DatetimeIndex(
['2026-01-01 12:00:00', '2026-01-02 12:00:00'],
tz='Europe/Moscow'
)
res = idx.tz_convert('America/New_York')
print(res)
Результат выполнения кода:
DatetimeIndex(['2026-01-01 04:00:00-05:00',
'2026-01-02 04:00:00-05:00'],
dtype='datetime64[ns, America/New_York]', freq=None)
Пример
Преобразуем время с учётом летнего времени
из 'UTC' в 'Europe/London':
import pandas as pd
idx = pd.DatetimeIndex(
['2026-06-01 12:00:00', '2026-12-01 12:00:00'],
tz='UTC'
)
res = idx.tz_convert('Europe/London')
print(res)
Результат выполнения кода:
DatetimeIndex(['2026-06-01 13:00:00+01:00',
'2026-12-01 12:00:00+00:00'],
dtype='datetime64[ns, Europe/London]', freq=None)
Пример
Применим метод к индексу, созданному из нескольких дат:
import pandas as pd
idx = pd.DatetimeIndex([
'2026-01-01 10:00:00',
'2026-01-02 10:00:00',
'2026-01-03 10:00:00'
], tz='Asia/Tokyo')
res = idx.tz_convert('Australia/Sydney')
print(res)
Результат выполнения кода:
DatetimeIndex(['2026-01-01 12:00:00+11:00',
'2026-01-02 12:00:00+11:00',
'2026-01-03 12:00:00+11:00'],
dtype='datetime64[ns, Australia/Sydney]', freq=None)
Смотрите также
-
метод
tz_localize,
который устанавливает часовой пояс для наивного индекса -
атрибут
tz,
который возвращает часовой пояс индекса -
метод
floor,
который округляет даты вниз до заданной частоты -
метод
to_period,
который преобразует индекс в период с заданной частотой