今天是本年的第几周,星期几是周的第一天,年初的第一周如何算这些不同规则标准会产生不同的第几周信息。
通用的标准是:ISO 8601
这个标准下,每周从星期一开始,星期日为第七天。
年度的第一周计算规则如下,任何一条都可以:
- 本年度第一个星期四所在的星期;
- 1月4日所在的星期;
- 本年度第一个至少有4天在同一星期内的星期;
- 星期一在去年12月29日至今年1月4日以内的星期;
比如
2011年第一周是 20200103 ~ 20200109 这周。
2020年第一周是 20191230 ~ 20200105 这周。
Golang的 ISOWeek 函数就是这样的算法。
func (t Time) ISOWeek() (year, week int)