R - 午夜 POSIXct 至今

R - midnight POSIXct to date

如果我有像这样的午夜(甚至午夜前后)约会

> as.POSIXct("2020-01-01 00:00:00")
[1] "2020-01-01 CET"

但是如果我把它转移到这个日期前一天得到的日期

> as.Date(as.POSIXct("2020-01-01 00:00:00"))
[1] "2019-12-31"

如果那个时间是早上 8 点等,as.Date 可以正常工作。如何为我的示例获取 2020-01-01 的日期,其中时间是午夜?

您需要重新指定时区。

如您在 ?as.Date 中所见:

## S3 method for class 'POSIXct'

as.Date(x, tz = "UTC", ...)

函数默认为UTC。

as.Date(as.POSIXct("2020-01-01 00:00:00",tz="CET"),tz="CET")
#[1] "2020-01-01"

as.Date(as.POSIXct("2020-01-01 00:00:00",tz="CET"))
#[1] "2019-12-31"