【发布时间】:2017-03-06 10:50:24
【问题描述】:
考虑以下时间戳
timestamp <- ymd_hms("2011-08-10 14:00:00", tz = "Pacific/Auckland")
> timestamp
[1] "2011-08-10 14:00:00 NZST"
从中获取日期部分2011-08-10 并确保这一天是正确的日期而不是字符串的最简单方法是什么?
在这里使用lubridate::day(timestamp) 显然失败了。
【问题讨论】:
-
随便
as.Date -
我认为您正在寻找
lubridate::date。与as.Date的区别在于date使用指定时区中存在的日期,而不是首先转换为UTC(as.Date中的默认值,尽管它可以采用tz参数)。 -
floor_date(timestamp,"day")产生具有正确时区的 POSIXct... -
我认为你现在也可以使用 lubridate 和 as_date 而不是 as_datetime
mutate(day=as_datetime(timestamp))这将在管道内工作