【发布时间】:2016-09-30 15:46:07
【问题描述】:
我需要获取日期的星期数。
我知道这个问题之前被问过很多次,但这里的所有答案都是 对我没有用,因为他们返回 dotnet weeknumber 或 iso 8601 周数。
我需要的是更具挑战性的。
让我用最简单的示例数据来解释一下:
input date desired weeknumber
01-jan-2012 1
02-jan-2012 2
31-dec-2012 52
01-jan-2013 1
06-jan-2013 1
07-jan-2013 2
31-dec-2013 52
01-jan-2014 1
05-jan-2014 1
06-jan-2014 2
我希望这能说明我需要什么。
就像您在打印的日历上写周数但第一周/最后一周拆分为 1/52 而不是 53
在 google 中搜索会返回很多类似 example of answer 的答案,但我发现没有一个会返回这些结果,所以我希望有人可以帮助我或为我指明正确的方向。
编辑:另一种解释方式是这样的:
就像你对另一个人说的那样看待它,一个人会说是第 52 周,一年中的第一天会说是第 1 周。一个人永远不会说这是周53.
对于 2012 年 1 月 2 日,有人会说我们在今年的第 2 周,而不是第 1 周
编辑:我终于说服了我的雇主,这是不切实际的,甚至是不可能的。 这个线程中的答案和 cmets 是我用来说服的,所以你们都帮了我很好
【问题讨论】:
-
你的问题没有意义。如果您从星期一开始新的一周,并将 2012 年 1 月 1 日定义为第 1 周,那么 2012 年 1 月 2 日开始第 2 周,那么 2012 年 12 月 24 日开始第 53 周,2012 年 12 月 31 日开始第 54 周,而不是第 52 周。
-
为什么 2012 年 12 月 31 日从第 54 周开始呢?
-
@user5090812 我编辑了我的问题,试图解释我的意思
-
366/7=52.28,所以总会有第 53 周,不是吗?哪怕只有两天。
-
取出一个 2012 年的日历,并在其中计算每个星期一,从 1 月 2 日的
2、1 月 9 日的3等开始。您将在 12 月 31 日计算54。跨度>
标签: c#