代码之家  ›  专栏  ›  技术社区  ›  BCS

一个月的第一周/最后一周是什么?[关闭]

  •  15
  • BCS  · 技术社区  · 16 年前


    背景

    我可以让它选择不同的行为,但仍然需要一个良好的默认值。


    s  m  t  w  r  f  s
    --------------------
          1  2  3  4  5
    6  7  8  9  10 11 12
    13 14 15 16 17 18 19
    20 21 22 23 24 25 26
    27 28 29 30 31
    

    (注:我假设本周从周日开始,但问题也可能在周一提出)

    一个月的第一周是几天?

    1. 6月29日-7月5日 --包括第一周在内的一周
    2. 7月6-12日 --一个月以来的第一周

    第二周就是第一周后的7天对吧?

    1. 7月27日-8月2日 --同上,但最后一天
    2. 7月20-26日 --同上,但上周

    欢迎非维基评论

    11 回复  |  直到 12 年前
        1
  •  11
  •   Jonathan Leffler    16 年前

    There is no answer because it varies even inside a country.

    然而, this source 似乎认为ISO标准将其定义为包含星期四的第一周。不过,上述消息来源称,ISO标准并未列出“本月第一周”的规范


    300多个字符-对不起!

    ISO 8601标准将一年中的第一周定义为:

    日历周数

    序数,根据第一个 日历年的周是下一个日历年的第一个日历周之前的一周

    国际标准化组织8601中没有关于一个月的第一周的内容,因为正如已经注意到的,定义因国家(甚至公司)而异。哦,标准规定星期一开始。

        2
  •  6
  •   tvanfosson    16 年前

    如果您正在构建库,则应允许用户通过使用返回该月的第一周/最后一周完整周/部分周的方法或通过传递一个参数指示是否需要完整周/部分周来选择要如何处理它。如果提供不需要规范的方法,请清楚地记录默认值。

    public Week GetFirstFullWeekOfMonth( DateTime forDate ) { }
    
    public Week GetFirstPartialWeekOfMonth( DateTime forDate ) { }
    

    或者

    public Week GetFirstWeekOfMonth( DateTime forDate, bool includePartial ) {}
    
        3
  •  3
  •   BCS    16 年前

    1. 7月6-12日
        4
  •  2
  •   BCS    16 年前

    一个月的第一周是包括第一周在内的一周

    1. 6月29日-7月5日
        5
  •  2
  •   BCS    16 年前

    一个月的最后一周是指包括最后一天在内的一周

    1. 7月27日-8月2日
        6
  •  2
  •   BCS    16 年前

    一个月的最后一周是整个月的最后一周

        7
  •  1
  •   baretta    16 年前

    我的定义是第一周是一个月中第一个工作日的一周, 同样的,最后一周是这个月最后一个工作日的一周。

        8
  •  1
  •   BCS    16 年前

    一个月的第一周是第0周,这周是一个月的第一天。

    因此7月最后一周的周数与8月第一周的周数相同

    **除非**

    :)

        9
  •  0
  •   Joe Philllips    16 年前

    一个月的第一周是在定义的周周期中拥有4天或更多天的第一周。(不是真的,但我想我会把它作为一种选择)

        10
  •  0
  •   Kevin    16 年前

    有一个相当明显的选择你是失踪的。一个月的第一周是从一个月的第一天开始的七天。因此,在你的例子中,第一周是星期二,从1号到7号星期一。这样,第一到第四周总是在一个月内被完全控制,只有第五周会过去。

        11
  •  0
  •   easeout    16 年前

    与用户交谈 当程序告诉他们“一个月的第一周”和“一个月的最后一周”时,问问他们认为这意味着什么。