【发布时间】:2016-07-08 11:06:30
【问题描述】:
我正在使用 pandas 将字符串转换为时间戳。我有一个字符串如下'2016-03-12 18:09:19 PST'。
如果我执行以下操作:
pd.to_datetime('2016-03-12 18:09:19 PST')
我明白了:
Timestamp('2016-03-13 02:09:19')
我不确定为什么会发生这种情况。对比以下行为:
pd.to_datetime('2016-03-12 18:09:19')
返回:
Timestamp('2016-03-12 18:09:19')
请注意,美国/太平洋时间实际上并不存在时间Timestamp('2016-03-13 02:09:19')。如果您尝试执行pd.to_datetime('2016-03-12 18:09:19 PST').tz_localize('US/Pacific'),您将获得NonExistentTimeError。
为什么在字符串末尾引入“PST”会导致减去 16 小时? to_datetime怎么能介绍不可能的约会?
【问题讨论】:
-
这不是 16 小时的减法,而是 8 的加法(注意日期变化)。这将使其成为 UTC 时间。
标签: python datetime pandas timezone