獲取兩個日期之間的日期列表
// GetBetweenDates 根據開始日期和結束日期計算出時間段內所有日期 // 參數為日期格式,如:2020-01-01 func GetBetweenDates(sdate, edate string) []string { d := []string{} timeFormatTpl := "2006-01-02 15:04:05" if len(timeFormatTpl) != len(sdate) { timeFormatTpl = timeFormatTpl[0:len(sdate)] } date, err := time.Parse(timeFormatTpl, sdate) if err != nil { // 時間解析,異常 return d } date2, err := time.Parse(timeFormatTpl, edate) if err != nil { // 時間解析,異常 return d } if date2.Before(date) { // 如果結束時間小於開始時間,異常 return d } // 輸出日期格式固定 timeFormatTpl = "2006-01-02" date2Str := date2.Format(timeFormatTpl) d = append(d, date.Format(timeFormatTpl)) for { date = date.AddDate(0, 0, 1) dateStr := date.Format(timeFormatTpl) d = append(d, dateStr) if dateStr == date2Str { break } } return d }