Date “这是怎么回事?”;周数“;根据日期计算?
对于我正在使用的系统,我需要一个“两周数”,它的工作原理与标准周数一样,它只会每14天滚动一次,而不是每7天滚动一次 换句话说,我在寻找算法,而不是代码,从一个日期计算一周数,以及给定年份和周数的开始/结束日期 问题来自这样一个事实:任何一年的第一周通常不是1月1日,甚至可能是在前一个12月。也有一些年份因为这个而结束了53周 例如:Date “这是怎么回事?”;周数“;根据日期计算?,date,calendar,week-number,Date,Calendar,Week Number,对于我正在使用的系统,我需要一个“两周数”,它的工作原理与标准周数一样,它只会每14天滚动一次,而不是每7天滚动一次 换句话说,我在寻找算法,而不是代码,从一个日期计算一周数,以及给定年份和周数的开始/结束日期 问题来自这样一个事实:任何一年的第一周通常不是1月1日,甚至可能是在前一个12月。也有一些年份因为这个而结束了53周 例如: 2009年第一周于2008年12月29日开始 因此,从2009年12月28日到2010年01月03日,2009年有一周的时间#53 2010年第一周于2010年
- 2009年第一周于2008年12月29日开始
- 因此,从2009年12月28日到2010年01月03日,2009年有一周的时间#53
- 2010年第一周于2010年1月4日开始
另一个关键点是,当您使用“周-年-周”来表示值时,您也需要使用“周-年”本身,而不是正常年份。因此,对于2010年1月3日星期日,您可以将其表示为“2009年第53周,每周星期日”。很容易使用“错误的年份类型”,并在12月底和1月初左右将值弄乱。很酷,这很有意义。。。我有点希望它能以某种方式被定义为“一个时代,然后我们继续从那里增加几个星期”。这比我预期的要稳定得多。。。关于如何将这一点延续到“两周数字”中,在那里我可能会在一年中有一个奇怪的开始,有什么想法吗?谢谢@DanielMagliola:不,你需要自己定义这一点——或者更确切地说,问问给你这个任务的人有没有一套具体的要求。两周计算的一个想法是,你必须根据你使用的“日历”来定义不同的两周。在这种情况下,使用“周-年”日历,两周实际上很容易计算。困难在于,它无法清晰地映射到“正常”日历的年边界(因为“正常”日历和“周-年”日历中的年边界不同)