ymd与日期矢量

时间:2014-12-19 12:52:25

标签: 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" 

如果我尝试仅使用lubridate提取日期部分,它可以使用单个值但不是整个向量,即:

> ymd(d[1])
[1] "2014-01-01 UTC"

> ymd(d)
[1] NA NA
Warning message:
All formats failed to parse. No formats found.

对于记录,这有效:

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

这里发生了什么?

1 个答案:

答案 0 :(得分:2)

您的问题是您的矢量不仅仅是年,月,日(ymd),还有小时,分钟,秒(hms)。请考虑使用此代码:

ymd_hms(d)

如果您只想提取日期,可以使用:

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