pandas.Timestamp.tz_localize#

Timestamp.tz_localize(tz, ambiguous='raise', nonexistent='raise')#

将时间戳本地化为一个时区。

将朴素的时间戳转换为本地时区,或从带时区的时间戳中移除时区。

参数:
tzstr, zoneinfo.ZoneInfo, pytz.timezone, dateutil.tz.tzfile 或 None

时间戳将被转换到的时间区域。None 将移除时区,保留本地时间。

歧义bool, ‘NaT’, 默认 ‘raise’

当由于夏令时(DST)时钟回拨时,可能会出现不明确的时间。例如在中欧时间(UTC+01),当从03:00 DST变为02:00非DST时,本地时间02:30:00在UTC时间00:30:00和01:30:00都会出现。在这种情况下,`ambiguous`参数决定了如何处理不明确的时间。

行为如下:

  • bool 包含标志以确定时间是否为夏令时(请注意,此标志仅适用于模糊的秋季夏令时日期)。

  • ‘NaT’ 将返回一个不明确时间的 NaT。

  • ‘raise’ 将引发一个模糊时间的 ValueError。

nonexistent‘shift_forward’, ‘shift_backward’, ‘NaT’, timedelta, 默认 ‘raise’

在一个特定时区中,由于夏令时导致时钟向前移动,不存在的时间在这个时区中是不存在的。

行为如下:

  • ‘shift_forward’ 会将不存在的时间向前移动到最近的现有时间。

  • ‘shift_backward’ 会将不存在的时间向后移动到最接近的现有时间。

  • ‘NaT’ 将在不存在时间的地方返回 NaT。

  • timedelta 对象会将不存在的时间按 timedelta 进行调整。

  • ‘raise’ 如果存在不存在的时间,将引发 ValueError。

返回:
本地化时间戳
引发:
TypeError

如果时间戳是时区感知的并且 tz 不是 None。

参见

Timestamp.tzinfo

返回 Timestamp 的时区信息。

Timestamp.tz_convert

将时区感知的 Timestamp 转换为另一个时区。

DatetimeIndex.tz_localize

将 DatetimeIndex 本地化为特定时区。

datetime.datetime.astimezone

将一个 datetime 对象转换为另一个时区。

例子

创建一个简单的时间戳对象:

>>> ts = pd.Timestamp('2020-03-14T15:32:52.192548651')
>>> ts
Timestamp('2020-03-14 15:32:52.192548651')

添加 ‘Europe/Stockholm’ 作为时区:

>>> ts.tz_localize(tz='Europe/Stockholm')
Timestamp('2020-03-14 15:32:52.192548651+0100', tz='Europe/Stockholm')

类似于 pd.NaT

>>> pd.NaT.tz_localize()
NaT