【发布时间】:2021-01-16 16:40:45
【问题描述】:
我有来自现场(佛罗里达)的数据,它以当地时间保存。佛罗里达州有夏令时。所以,我想将其转换为 EST 区域。我该怎么做? 我的代码:
local_df.index = DatetimeIndex(['2019-06-01 06:58:45', '2019-10-01 06:59:00',
'2019-10-01 06:59:15',
'2020-07-18 09:16:30', '2020-07-18 09:16:45'],
dtype='datetime64[ns]', name='', freq=None)
est_df.index = local_df.index.tz_localize(tz='EST')
est_df.index = DatetimeIndex(['2019-06-01 06:58:45-05:00', '2019-10-01 06:59:00-05:00',
'2019-10-01 06:59:15-05:00','2020-07-18 09:16:30-05:00', '2020-07-18 09:16:45-05:00'],
dtype='datetime64[ns]', name='', freq=None)
我上面的代码实际上并没有将本地时间转换为东部标准时间,它只附加了与 UCT 的时差。这是不正确的。
【问题讨论】:
-
没有“标准”时区,EST 是一个模棱两可的首字母缩写词,而不是时区名称。例如,有 3 个 IST 和 3 个 BST。事实上(也是唯一的)标准是the IANA timezone database names,使用的名称类似于
America/Dawson -
顺便说一下,这是 Matt Johnson-Pint 的一个很好的贡献,它为
EST问题提供了一些启示:stackoverflow.com/a/64163955/10197418
标签: python dataframe datetime timezone dst