【问题标题】:extract day number of year from dates从日期中提取年份的天数
【发布时间】:2013-03-05 10:14:16
【问题描述】:

我有一个这样的日期列表:

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 上进行了很好的搜索,但找不到一个简单的方法来做到这一点。感谢您的帮助,谢谢。

【问题讨论】:

  • @DidzisElferts 这不是重复 - 这里的关键问题是日期的 lubridate 表示,这与 @987654323 明显不同您建议的副本中基于 @ 的解决方案。我已投票决定在审核队列中保持开放状态。

标签: r date


【解决方案1】:

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

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

【讨论】:

  • 谢谢。对已经提出的遗漏问题表示歉意。我正在使用lubridate,所以会坚持使用那个包
【解决方案2】:

试试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

【讨论】:

  • 请注意,yday 值是从 0 开始的。
猜你喜欢
  • 2016-08-02
  • 2021-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-02
相关资源
最近更新 更多