Golang如何获取第n周的开始时间

2019.10.10 - yearnfar

golang如何获取第n周的开始日期?例如如何获得2019年第40周开始日期?

如果我们知道2019年第一周开始日期(firstWeekDate),则可以通过下列公式计算出第n周的开始日期 :

firstWeekDate + (n-1) * 7

所以问题关键在于获取当年第一周的开始日期。

首先把1月1号转为time.Time结构:

获取1月1号是周几,并获取1月1号所在周的开始日期:

但是,1月1号并不一定在当年第一周,也可能在上一年的第53周。

可以通过ISOWeek进行验证,如果年份相等,则是第一周;反之,属于上一年第53周,需要再加7天。

完整代码如下:

阅 429
0

golang如何获取第n周的开始日期?例如如何获得2019年第40周开始日期? 如果我们知道2019年第一周开 […]