首页 > 解决方案 > R - 午夜 POSIXct 至今

问题描述

如果我有这样的午夜(甚至午夜 posixct 左右)日期

> 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 日期,其中小时是午夜?

标签: rposixctas.date

解决方案


您需要再次指定时区。

如您所见?as.Date

## 类 'POSIXct' 的 S3 方法

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"

推荐阅读