R 带日期向量的ymd

R 带日期向量的ymd,r,lubridate,R,Lubridate,我想这是一个简单的问题。我有一些日期,d: d <- as.POSIXct(c("2014-01-01 00:00:00 BST", "2014-01-01 00:30:00 BST")) > class(d) [1] "POSIXct" "POSIXt" 为了记录在案,这是有效的: > as.Date(d, format="%F") [1] "2014-01-01" "2014-01-01" 这里发生了什么?你的问题是你的向量不仅仅是年、月、日(ymd),还有小时、分钟

我想这是一个简单的问题。我有一些日期,
d

d <- as.POSIXct(c("2014-01-01 00:00:00 BST", "2014-01-01 00:30:00 BST"))
> class(d)
[1] "POSIXct" "POSIXt" 
为了记录在案,这是有效的:

> as.Date(d, format="%F")
[1] "2014-01-01" "2014-01-01"

这里发生了什么?

你的问题是你的向量不仅仅是年、月、日(ymd),还有小时、分钟、秒(hms)。考虑使用这个代替:

ymd_hms(d)
如果只想提取日期,可以使用:

strftime(ymd_hms(d),'%Y-%m-%d')

哦,也许我误解了。我认为,除了猜测文本字符串的日期格式外,它还可以从POSIXct对象中提取日期,如
month()
strftime(ymd_hms(d),'%Y-%m-%d')