我试图找到一种方法来自动填充任何给定年份的开始/结束周日期。例如。 2015年4月12日 - 2015年4月18日,2015年4月19日 - 2015年4月25日,2015年4月26日 - 2015年5月2日。我想我可以明确地计算出来,但它并不是很优雅。提前谢谢!
答案 0 :(得分:6)
查找一年中第一周的第一天和最后几天:阅读%W
下的%w
,%V
,?strptime
规范,了解更多详情。请注意,strptime
约定非常挑剔(例如,您需要正确的数字位数),可能依赖于操作系统,并且可能依赖于语言环境......
firstday <- as.Date(strptime("2010-01-0",format="%Y-%W-%w")) ## Sunday
lastday <- as.Date(strptime("2010-01-6",format="%Y-%W-%w")) ## Saturday
现在从那些日期开始设置日期序列:
seq.Date(firstday,as.Date("2010-12-31"),by="1 week")
seq.Date(lastday,as.Date("2010-12-31"),by="1 week")
您可以使用例如paste0(year,"-01-0")
如果你想更普遍地这样做(没有对年份进行硬编码)。