从日期中提取日期

luc*_*ano 11 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)
Run Code Online (Sandbox Code Playgroud)

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

day.number <- c(3, 28, 12, 33, 62)
Run Code Online (Sandbox Code Playgroud)

我有一个很好的搜索谷歌和SO,但无法找到一个简单的方法来做到这一点.帮助表示感谢,谢谢.

Aru*_*run 18

您可以使用yday函数,lubridate因为您已经在使用它:

> yday(my.dates)
# [1]  3 28 12 33 63
Run Code Online (Sandbox Code Playgroud)


sta*_*ant 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
Run Code Online (Sandbox Code Playgroud)

  • 请注意,yday 值是从 0 开始的。 (2认同)