从日期中提取日期

时间:2013-03-16 19:30:00

标签: r date

我有这样的日期列表:

library(lubridate)
my.dates <- c("03-01-2006", "28-01-2006", "12-01-2008", "02-02-2006", "03-03-2008")
my.dates <- dmy(my.dates)

我需要从下面的每个日期提取一年中的日期编号,其中1月1日是第1天:

day.number <- c(3, 28, 12, 33, 62)

我在google和SO之间进行了很好的搜索,但是找不到一个简单的方法。感谢帮助,谢谢。

2 个答案:

答案 0 :(得分:17)

您可以使用yday中的lubridate功能,因为您已经在使用它:

> yday(my.dates)
# [1]  3 28 12 33 63

答案 1 :(得分:17)

尝试POSIXlt及其attributes(my.dates)

my.dates = as.POSIXlt(my.dates,format="%d-%m-%Y")
my.dates$mday
[1]  3 28 12  2  3
my.dates$yday
[1]  2 27 11 32 62