导航

ISO 9601 周日历

Posted on 2020-06-03 18:15  蝈蝈俊  阅读(836)  评论(0编辑  收藏  举报

今天是本年的第几周,星期几是周的第一天,年初的第一周如何算这些不同规则标准会产生不同的第几周信息。

通用的标准是:ISO 8601

这个标准下,每周从星期一开始,星期日为第七天。

年度的第一周计算规则如下,任何一条都可以:

  • 本年度第一个星期四所在的星期;
  • 1月4日所在的星期;
  • 本年度第一个至少有4天在同一星期内的星期;
  • 星期一在去年12月29日至今年1月4日以内的星期;

比如
2011年第一周是 20200103 ~ 20200109 这周。

2020年第一周是 20191230 ~ 20200105 这周。

Golang的 ISOWeek 函数就是这样的算法。

func (t Time) ISOWeek() (year, week int)