共计 966 个字符,预计需要花费 3 分钟才能阅读完成。
输出:
- 开始日期 完结日期 格局:”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_…
正文完