ISO_Week_Date's wikipedia page说有三个相同的条件来确定某一年是否有53个ISO 8601周。
从星期四开始的任何年份(多米尼克字母d或dc)和从星期三开始的任何闰年(ed)
星期四结束的任何年份(D,ED)和星期五结束的任何闰年(DC)
1月1日和12月31日(一般年份)或(闰年)中任一年份为星期四的年份
假设这是正确的,每个条件都有一个公共年的条件和一个闰年的条件我的逻辑是他们可以分开。因此,对于同一年,条件应为:
今年从星期四开始
一年在星期四结束
一年从星期四开始到结束
对于闰年,条件应该是:
一年从星期三或星期四开始
一年在星期四或星期五结束
一年从星期四开始或结束
但是三元组中的每一个条件似乎并不等同于另外两个条件中的每一个。我的解释怎么了?

最佳答案

对于正常年份,这些值相当于:
每年一月一日的工作日。12月31日都一样如果它们是星期四,包含它们的周数将计入一年,因此它有53周因此,在一个正常的年份里,如果从星期四开始,到一日结束,有53周。
如果不是1月1日的话,那将是跨越式的一年或者12月31日。星期四有53个。周。如果一月一日。是12月31日星期四。将是周五,如果12月31日是周四,那么1月1日是个星期三。
因此,对于正常年份,所有规则都是等价的;对于闰年,前两个规则是第三个规则的两个不同情况。

关于algorithm - 一年53 ISO 8601周的条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25338672/

10-10 10:23