对于我正在使用的系统,我需要有一个“双周数”,它与标准周数一样工作,它只是每14天而不是7天滚动。如何根据日期计算“周数”?
换句话说, m查找算法,而不是代码,从一个日期计算一个星期数,以及给定年份和星期数的开始/结束日期。
问题来自于这样一个事实,即任何一年的第一周通常都不是1月1日,而且甚至可能在前一年的12月。因为这个原因,最后还有53周。
例如:
- 第1周2009年开始 -12-29
- 因此2009年有一个星期的#53,从2009-12-28到2010-01-03
- 第1周2010年开始于2010-01-04
这些数字是如何派生的?
酷,这是有道理的......我有点希望它会以某种方式定义为基于“一个时代,然后我们从那里继续增加几周”。每年的稳定性比我预期的要稳定得多......关于如何将这个转换为“两周数字”的任何想法,在那里我可能会有一个奇怪的开始到一年? 谢谢! – 2013-03-11 14:05:21
@DanielMagliola:不需要,你需要为自己定义 - 或者更确切地说,无论谁给了你这个任务来满足一组具体的需求。 – 2013-03-11 14:08:10
对于两周计算的一个想法是,您必须根据您使用的“日历”的不同来定义两周。在这种情况下,对于“周年”日历,两周实际上很容易计算。困难在于它没有完全映射到“正常”日历的年度边界(因为“正常”日历和“周年”日历中的年份边界不同) – cdeszaq 2014-03-05 21:06:31