golang时间相关计算等

计算时间所在天,所在周,所在月的开始时间

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// timeByInterval 根据interval,计算t基于interval的开始时间是什么,可以按照天,月,周对时间统计,比如计算每周的时间有多少
func timeByInterval(t time.Time, interval string) time.Time {
if interval == "day" {
// 当天的开始时间
return time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, t.Location())
}
if interval == "week" {
// 当周的开始时间
t = t.AddDate(0, 0, int(t.Weekday())-1)
return time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, t.Location())
}
if interval == "month" {
// 当月的开始时间
return time.Date(t.Year(), t.Month(), 0, 0, 0, 0, 0, t.Location())
}
// interval默认值是day
return time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, t.Location())
}

golang时间相关计算等
https://nrbackback.github.io/2022/12/27/golang时间相关计算等/
作者
John Doe
发布于
2022年12月27日
许可协议