【发布时间】:2015-11-11 15:35:33
【问题描述】:
MongoDB manual 声明 $week 聚合和 %U 运算符在 strftime 中的工作方式如下:
将日期作为 0 到 53 之间的数字返回一年中的第几周。
周从星期日开始,第 1 周从第一个星期日开始 年。一年中的第一个星期日之前的日子在第 0 周。这 行为与 strftime 标准的“%U”运算符相同 库函数。
【问题讨论】:
MongoDB manual 声明 $week 聚合和 %U 运算符在 strftime 中的工作方式如下:
将日期作为 0 到 53 之间的数字返回一年中的第几周。
周从星期日开始,第 1 周从第一个星期日开始 年。一年中的第一个星期日之前的日子在第 0 周。这 行为与 strftime 标准的“%U”运算符相同 库函数。
【问题讨论】:
没有。 ISO 8601 没有第 0 周。
按照标准:
第 1 周的 ISO 8601 定义是包含一年中第一个星期四的那一周。
...
- 如果 1 月 1 日是星期一、星期二、星期三或星期四,则为第 1 周;
- 如果 1 月 1 日是星期五,则它是上一年第 53 周的一部分;
- 如果在星期六,则为第 52 周的一部分(如果上一年是闰年,则为第 53 周);
- 如果在星期日,则为上一年第 52 周的一部分。
有一张公开的票建议为周数添加其他选项; cmets中有$isoweek的建议:
【讨论】: