好吧所以这里是一个微妙的“怪癖”在r as.Date函数转换为带有时区的POSIXct,我想知道它是不是一个bug。
> as.POSIXct("2013-03-29", tz = "Europe/London")
[1] "2013-03-29 GMT"
> as.Date(as.POSIXct("2013-03-29", tz = "Europe/London"))
[1] "2013-03-29"
到目前为止没问题,但是......
> as.POSIXct("2013-04-01", tz = "Europe/London")
[1] "2013-04-01 BST"
> as.Date(as.POSIXct("2013-04-01", tz = "Europe/London"))
[1] "2013-03-31"
有人见过这个吗?这是一个错误还是另一个怪癖?愚人节?
答案 0 :(得分:7)
as.Date.POSIXct
的默认时区为"UTC"
(请参阅帮助页面)。试试as.Date(as.POSIXct("2013-04-01", tz = "Europe/London"),tz = "Europe/London")
。