考虑以下几点:
> as.POSIXct('2021-11-07 01:30', tz='US/Central')
[1] "2021-11-07 01:30:00 CST"
注意我是怎么得到
CST
的。如果我想要'CDT'
怎么办?
在Python-pandas中,我可以使用
ambiguous
:
In [5]: pd.Timestamp('2021-11-07 01:30:00').tz_localize('US/Central', ambiguous=False)
Out[5]: Timestamp('2021-11-07 01:30:00-0600', tz='US/Central')
In [6]: pd.Timestamp('2021-11-07 01:30:00').tz_localize('US/Central', ambiguous=True)
Out[6]: Timestamp('2021-11-07 01:30:00-0500', tz='US/Central')
正常显示“CST”
seq(as.POSIXct("2021-11-07 01:58", tz="US/Central"),
as.POSIXct("2021-11-07 02:03", tz="US/Central"), "min")
[1] "2021-11-07 01:58:00 CST" "2021-11-07 01:59:00 CST"
[3] "2021-11-07 02:00:00 CST" "2021-11-07 02:01:00 CST"
[5] "2021-11-07 02:02:00 CST" "2021-11-07 02:03:00 CST"
但我们可以通过倒退一个小时(3600 秒)来欺骗它显示之前的“CDT”
seq(as.POSIXct("2021-11-07 01:58", tz="US/Central") - 3600,
as.POSIXct("2021-11-07 02:03", tz="US/Central") - 3600, "min")
[1] "2021-11-07 01:58:00 CDT" "2021-11-07 01:59:00 CDT"
[3] "2021-11-07 01:00:00 CST" "2021-11-07 01:01:00 CST"
[5] "2021-11-07 01:02:00 CST" "2021-11-07 01:03:00 CST"
你的情况
as.POSIXct("2021-11-07 01:30", tz="US/Central") - 3600
[1] "2021-11-07 01:30:00 CDT"