我正在努力使用包含POSIXct的colClasses的read.csv将整个时间戳列向下舍入到最新的时间部分。我遇到了一个similar question,暗示我有一些约会可能会错过时间。情况并非如此。然而,在将我的矢量平分后,我注意到一些特定的时间戳应该受到指责。这是一个片段。
as.POSIXct(c("2016-03-13 01:00:00", "2016-03-13 02:00:00", "2016-03-13 03:00:00"))
这对我产生了影响
[1] "2016-03-13 CST" "2016-03-13 CST" "2016-03-13 CST"
这是DST过渡,但不过时间部分在哪里?这是一个错误吗?
> version
_
platform i386-w64-mingw32
arch i386
os mingw32
system i386, mingw32
status
major 3
minor 3.0
year 2016
month 05
day 03
svn rev 70573
language R
version.string R version 3.3.0 (2016-05-03)
nickname Supposedly Educational
更新
虽然setting time zone globally似乎已经克服了这个问题,但它对我来说仍然是个错误。
更新2
我确认该行为是特定于Windows的(特定于平台的错误?)这里是Ubuntu上R 3.2.3的输出
[1] "2016-03-13 01:00:00 CST" "2016-03-13 01:00:00 CST"
[3] "2016-03-13 03:00:00 CDT"
更新3
有known unconfirmed bug #16852。
更新4
除非我遗漏了某些内容,否则我在%S和%OS之间的情况没有差异,如评论中所述。
> strptime(c("2016-03-13 01:00:00", "2016-03-13 02:00:00", "2016-03-13 03:00:00"), "%Y-%m-%d %H:%M:%S")
[1] "2016-03-13 01:00:00 CST" "2016-03-13 02:00:00" "2016-03-13 03:00:00 CDT"
> strptime(c("2016-03-13 01:00:00", "2016-03-13 02:00:00", "2016-03-13 03:00:00"), "%Y-%m-%d %H:%M:%OS")
[1] "2016-03-13 01:00:00 CST" "2016-03-13 02:00:00" "2016-03-13 03:00:00 CDT"
P.S。我还没有深入研究代码...:/