大佬教程收集整理的这篇文章主要介绍了golang 月工作日,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
需要引入包 "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 月工作日所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。