时间段内列出整点时间
datelist := []string{}
sd, _ := time.Parse("2006-01-02 15:04:05", createtime)
sth, _ := time.ParseDuration("-4h")
ed := sd.Add(sth)
sth_1, _ := time.ParseDuration("-1h")
for sd.After(ed) {
sd = sd.Add(sth_1)
datelist = append(datelist, sd.Format("2006-01-02 15:04:05"))
}
- sd为time.Time类型,为第一个时间点
- sth为time.Duration类型,为时间间距,以上例子为4小时前的时间
- ed为time.Time类型,为第二个时间点
以上时间列出的是某一时间点之前的时间,故datelist数组内的时间点为倒序时间点
下面是列出某一月的所有日期
mon := "2022-04"
datelist := []string{}
timeFormat := "2006-01-02"
startdate := mon + "-01 00:00:00"
sd, _ := time.Parse("2006-01-02 15:04:05", startdate)
enddate := sd.AddDate(0, 1, -1).Format("2006-01-02 15:04:05")
ed := strings.Split(enddate, " ")[0]
startTime, _ := time.Parse(timeFormat, strings.Split(startdate, " ")[0])
endTime, _ := time.Parse(timeFormat, ed)
for endTime.After(startTime) {
datelist = append(datelist, startTime.Format(timeFormat))
startTime = startTime.AddDate(0, 0, 1)
}
datelist = append(datelist, endTime.Format(timeFormat))