golang 月工作日

golang 月工作日,第1张

概述需要引入包 "github.com/jinzhu/now"//查询一个月当中每周工作日具体日期func WorkDayOfMonth(currentTime string) ([]interface{}, int) { currentDate, _ := time.Parse("2006-01", currentTime) year := currentDate.Year()
需要引入包 "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 月工作日所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1279936.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存