我正在寻找带有lubridate的POSIXct类对象的一年中的某一天。例如,12-9-2015 is day 343。
使用lubridate很容易找到一周或一个月的日期:
> lubridate::wday("2015-12-09 04:27:56 EST", labels = T)
Wed
> lubridate::day("2015-12-09 04:27:56 EST")
9
一年中有没有一种简单的方法可以这样做?我已经搜索了文档和其他问题,但还没有找到答案。
答案 0 :(得分:22)
正确的功能是yday
,如
lubridate::yday(Sys.time())
答案 1 :(得分:0)
在从 u/blindjesse 绊倒这个答案之前想出了一种更复杂的方法来做到这一点:
# compute the time interval from the first of the year until now
YTD = interval(floor_date(now(), unit='year'), now())
# compute the length of the interval in days, and discard the fractional part
as.integer(time_length(YTD, "day"))
顺便说一句,u/blindjesse 答案的更紧凑版本是:
lubridate::yday(now())