r - 如何在给定的任意年份中获得去年的相同工作日?

标签 r date dayofweek

我希望在任何一年都能得到去年的同一天。我怎样才能最好地在 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/

相关文章:

list - R 中的多级列表

php - 如何计算两天之间的差异作为格式化字符串?

javascript - 将 RFC 822 日期转换为 javascript 的有效日期

r - 如何使用 R 从磁盘读取加密文件

删除第二个空格后的文本

sql - 当条件满足时计算每个组内的行数 Sql Server

mysql - 在 MySQL 事件中从另一个表插入和选择(取决于日期)

java - 日期计算器 : Tell what day of the week a certain date is

Android 中的 java TimeZone 和 TimeUnit 以及 SimpleDateFormat

r - 如何删除多余的 | (管道)加载时与行的分隔符 |将(管道)分隔的文本放入 R 中