需要引入包 "github.com/jinzhu/Now"//查询一个月当中每周工作日具体日期func WorkDayOfMonth(currentTime string) ([]interface{},int) { currentDate,_ := time.Parse("2006-01",currentTime) year := currentDate.Year() month,_ := strconv.Atoi(currentDate.Month().String()) count := DaysOfMonth(year,month) bmonth := Now.New(currentDate).BeginningOfMonth() var monthArr []string var tempArr []string var weekArr []interface{} for i := 0; i < count; i++ { dd := bmonth.AddDate(0, 0,i) //除去星期天 if dd.Weekday().String() != "Saturday" && dd.Weekday().String() != "Sunday" { monthArr = append(monthArr,dd.Format("2006-01-02")) if len(tempArr) > 0 { aa,_ := time.Parse("2006-01-02",tempArr[len(tempArr)-1]) dd,_ = time.Parse("2006-01-02",dd.Format("2006-01-02")) if dd.Sub(aa).Hours()/24 > 1 { weekArr = append(weekArr,tempArr) tempArr = nil } } tempArr = append(tempArr,dd.Format("2006-01-02")) } } return weekArr,count}//获取月天数func DaysOfMonth(year int,month int) (days int) { if month != 2 { if month == 4 || month == 6 || month == 9 || month == 11 { days = 30 } else { days = 31 } } else { if ((year%4) == 0 && (year%100) != 0) || (year%400) == 0 { days = 29 } else { days = 28 } } return days}总结
以上是内存溢出为你收集整理的golang 月工作日全部内容,希望文章能够帮你解决golang 月工作日所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)