我希望在任何一年都能得到去年的同一天。我怎样才能最好地在 R 中做到这一点。例如,给定星期日 2010/01/03,我想获取前一年同一周的星期日。
# "Sunday"
weekdays(as.Date("2010/01/03", format="%Y/%m/%d"))
# "Saturday"
weekdays(as.Date("2009/01/03", format="%Y/%m/%d"))
最佳答案
要查找一年前的同一个工作日,只需从给定日期中减去 52 周或 364 天即可:
d <- as.Date("2010-01-03")
weekdays(d)
#[1] "Sunday"
d - 52L * 7L
#[1] "2009-01-04"
weekdays(d - 52L * 7L)
#[1] "Sunday"
请注意,日历年有 365 天(闰年有 366 天),比 52 周多一天或两天。因此,一年前同一个工作日的日历日期会移动一两天。 (或者,它解释了为什么新年前夜总是在不同的工作日。)
关于r - 如何在给定的任意年份中获得去年的相同工作日?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41775077/