R 从时间戳中提取日期的最简单方法

R 从时间戳中提取日期的最简单方法,r,datetime,lubridate,R,Datetime,Lubridate,考虑以下时间戳 timestamp <- ymd_hms("2011-08-10 14:00:00", tz = "Pacific/Auckland") > timestamp [1] "2011-08-10 14:00:00 NZST" timestamp时间戳 [1] “2011-08-10 14:00:00新西兰时间” 从中获取日期部分并确保这一天是正确的日期而不是字符串的最简单方法是什么 在这里使用lubridate::day(timestamp)显然是失败的。这可能是

考虑以下时间戳

timestamp <- ymd_hms("2011-08-10 14:00:00", tz = "Pacific/Auckland")

> timestamp
[1] "2011-08-10 14:00:00 NZST"
timestamp时间戳
[1] “2011-08-10 14:00:00新西兰时间”
从中获取日期部分并确保这一天是正确的日期而不是字符串的最简单方法是什么


在这里使用lubridate::day(timestamp)显然是失败的。

这可能是最简单的方法:

date(timestamp)

它将返回日期类而不是字符串。

使用日期而不是日期

lubridate::date(timestamp)

现在还有
data.table
s
as.IDate()
函数:


时间戳只需按.Date执行
我想您正在寻找
lubridate::Date
。与
as.Date
的区别在于
Date
使用指定时区中存在的日期,而不是首先转换为UTC(默认值在
as.Date
中,尽管它可以采用
tz
参数)。
floor\u Date(时间戳,“天”)
生成具有正确时区的POSIXct…我认为您也可以使用lubridate和as_date now而不是as_datetime
mutate(day=as_datetime(timestamp))
这将在管道中工作