首页 > 学院 > 开发设计 > 正文

月工作日每周具体日期

2019-11-10 21:34:45
字体:
来源:转载
供稿:网友
需要引入包 "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}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表