7

好的,这是从带有时区的 POSIXct 转换的 r as.Date 函数中的一个微妙的“怪癖”,我想知道这是否是一个错误。

> 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"

有人看到这个吗?这是一个错误还是另一个怪癖?愚人节?

4

1 回答 1

8

默认时区as.Date.POSIXct"UTC"(请参阅帮助页面)。试试as.Date(as.POSIXct("2013-04-01", tz = "Europe/London"),tz = "Europe/London")

于 2013-04-01T12:44:26.303 回答