输出:
- 开始日期 完结日期 格局:"2006-01-02"
- 工夫距离 day/month
输入:一个string array 蕴含着所有遍历过的工夫
day 的话是开始和完结中的所有日期("2022-07-14")
month 则是所有月份("2022-07")
func traverseTime(startDate string, endDate string, interval string) []string { // layout 日期工夫格局 layout := "2006-01-02" // 首先将startDate和endDate转换为time类型 endTime, _ := time.ParseInLocation(layout, endDate, time.Local) startTime, _ := time.ParseInLocation(layout, startDate, time.Local) if interval == "day" { // dateArray 开始以及完结日期中的所有日期 dateArray := make([]string, 0) // After 判断工夫先后 for endTime.After(startTime) { dateArray = append(dateArray, startTime.Format("2006-01-02")) startTime = startTime.AddDate(0, 0, 1) } dateArray = append(dateArray, endDate) return dateArray } if interval == "month" { //monthArray 开始以及完结日期中的所有日期 monthArray := make([]string, 0) for endTime.After(startTime) { monthArray = append(monthArray, startTime.Format("2006-01")) startTime = startTime.AddDate(0, 1, 0) } monthArray = append(monthArray, endTime.Format("2006-01")) return monthArray } fmt.Println("Wrong interval") return nil }
https://blog.csdn.net/weixin_...