我在夏令时标准化时间戳时发现以下行为改变了pandas 0.16.2的边界:
import pandas as pd
original_midnight = pd.Timestamp('20121104', tz='US/Eastern')
original_midday = pd.Timestamp('20121104T120000', tz='US/Eastern')
str(pd.tslib.normalize_date(original_midday))
`Out[10]:'2012-11-04 00:00:00-05:00'`
str(original_midnight)
`Out[12]:'2012-11-04 00:00:00-04:00'`
我认为规范化的时间戳应该与original_midnight具有相同的时区。
这是一个错误,还是我错过了什么?
答案 0 :(得分:1)
implementation只会截断时间。它似乎根本没有操纵偏移,所以我会说没有,它不是时区意识。
另外,考虑到这种类型的操作(在许多语言中)倾向于掩盖这样一个事实:并非每个当地日都午夜。例如,如果时区为'America/Sao_Paulo'
(巴西),且日期为春季转发(例如2015-10-18
),则跳过00:00到00:59的小时,意思是当天的开始时间是01:00。如果要将功能更新为可识别时区,则必须调整时间和偏移量。