如何获得一周内的所有天数?
我有一个时期,我想将周一到周日分成几个星期。
使用lubridate,我可以查询日期的周数:
library(lubridate)
td = today()
week(td) #48
我怎样才能找到属于 2020 年第 48 周的所有日子?
回答
您可以使用seqand as.Date,其中%Y是年份、一年中的%W第%a几周和缩写的工作日。
seq(as.Date("2020-48-Mo", "%Y-%W-%a"), by=1, length.out=7)
#as.Date("2020-48-Mo", "%Y-%W-%a") + 0:6 #Alternative
#as.Date("2020-48-1", "%Y-%W-%u") + 0:6 #Alternative
#[1] "2020-11-30" "2020-12-01" "2020-12-02" "2020-12-03" "2020-12-04"
#[6] "2020-12-05" "2020-12-06"
使用%U的情况下,星期日是第一天,%W周一和具有周开始0。使用%V以星期一作为第一天和以 开头的星期1。
如果您有一个日期并且想要本周的所有天数:
x <- as.Date("2020-11-25")
x - as.integer(format(x, "%u")) + 1:7
#[1] "2020-11-23" "2020-11-24" "2020-11-25" "2020-11-26" "2020-11-27"
#[6] "2020-11-28" "2020-11-29"