【问题标题】:Condition for a year having 53 ISO 8601 weeks具有 53 ISO 8601 周的一年的条件
【发布时间】:2014-08-16 09:13:39
【问题描述】:

ISO_Week_Date's wikipedia page 表示有三个相同的条件来确定给定年份是否有 53 个 ISO 8601 周。

  • 从星期四开始的任何年份(主字母 D 或 DC)和从星期三开始的任何闰年 (ED)
  • 任何以星期四结束的年份 (D, ED) 和任何以星期五 (DC) 结束的闰年
  • 1 月 1 日和 12 月 31 日(普通年)或其中任何一个(闰年)是星期四的年份

假设这是正确的,每个条件都有一个普通年份的条件和一个闰年的条件。我的逻辑是它们可以分开。因此对于一个普通年份,条件应该是:

  • 一年从星期四开始
  • 一年在星期四结束
  • 一年的开始和结束时间是星期四

对于闰年,条件应该是:

  • 一年从周三或周四开始
  • 一年在星期四或星期五结束
  • 一年从星期四开始或结束

但三元组中的每个条件似乎并不等同于其他两个条件。我的解释有什么问题?

【问题讨论】:

    标签: algorithm iso8601


    【解决方案1】:

    对于常规年份,这些是等效的:

    对于常规年份,1 月 1 日和 12 月 31 日的工作日相同。如果它们是星期四,则包含它们的周数计入一年,因此它有 53 周。因此,在常规年份中,如果它从星期四开始,它会在 1 结束并且有 53 周。

    对于闰年,如果 1 月 1 日或 12 月 31 日是星期四,则它有 53 周。如果 1 月 1 日是星期四,12 月 31 日是星期五,如果 12 月 31 日是星期四,那么 1 月 1 日是星期三。

    所以对于平年,所有规则都是等价的,对于闰年,前两个是第三个的两个不同情况。

    【讨论】:

    • 那么,是否可以将平年和闰年的情况结合起来,简单地说:如果一年的开始或结束是星期四,那么它有 53 周?
    • @sawa-你的结论是对的,因为如果平年的365天因为星期四就可以覆盖这个条件,那么显然闰年的365天肯定也一样!因此,完全可以得出结论!!!
    猜你喜欢
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 2016-05-02
    • 2023-03-13
    • 1970-01-01
    • 2013-02-02
    相关资源
    最近更新 更多