gpt4 book ai didi

date - 如何根据日期计算 "week number"?

转载 作者:行者123 更新时间:2023-12-05 00:56:12 27 4
gpt4 key购买 nike

对于我正在处理的系统,我需要有一个“两周数”,它的工作方式与标准周数一样,它每 14 天而不是 7 天滚动一次。

换句话说,我正在寻找算法,而不是代码,从日期计算周数,以及给定年份和周数的开始/结束日期。

问题来自这样一个事实,即任何一年的第 1 周通常不是 1 月 1 日,甚至可能是前一个 12 月。也有一些年份因此而最终有 53 周。

例如:

  • 2009 年第 1 周开始于 2008 -12-29
  • 因此,2009 年有一周 #53,从 2009-12-28 到 2010-01-03
  • 2010 年第 1 周开始于 2010-01-04

  • 这些数字是如何得出的?

    最佳答案

    How are these numbers derived?


    好吧,这取决于您使用的系统,但我怀疑您在使用 ISO-8601 周数,其定义如下:

    2.2.10 calendar week number

    ordinal number which identifies a calendar week within its calendar year according to the rule that the first calendar week of a year is that one which includes the first Thursday of that year and that the last calendar week of a calendar year is the week immediately preceding the first calendar week of the next calendar year


    请记住,ISO-8601 中的一周从星期一开始并在星期日结束 - 所以表达“第一个星期四”规则的另一种方式是一年中的第一周是包含新年至少四天的第一周.
    另一个重要的一点是,当您使用“周年”表达值时,您还需要使用“周年”本身,而不是正常的年份。因此,对于 2010 年 1 月 3 日星期日,您可以将其表示为“第 53 周,2009 年周,星期日”。使用“错误的年份类型”并最终在 12 月底和 1 月初左右弄乱值太容易了。

    关于date - 如何根据日期计算 "week number"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15340394/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com