1、Go语言获取指定日期的前一个月的日期
date为指定日期,返还上一个月的日期
func getlastMonth(date string) string {
month, _ := strconv.Atoi(date[5:7])
lastDate := ""
if month == 1 {
year, _ := strconv.Atoi(date[0:4])
lastDate = strconv.Itoa(year-1) + "-12-" + date[8:10]
} else {
if (month - 1) >= 10 {
lastDate = date[0:4] + "-" + strconv.Itoa(month-1) + date[7:10]
} else {
lastDate = date[0:4] + "-0" + strconv.Itoa(month-1) + date[7:10]
}
}
return lastDate
}
2、Go语言获取某个月的最后一天
func getMonthLastDay(year, month string) string {
days := "31"
if month != "02" {
if month == "04" || month == "06" || month == "09" || month == "11" {
days = "30"
} else {
days = "31"
}
} else {
if IsLeapYear(year) == true {
days = "29"
} else {
days = "28"
}
}
return days
}
func IsLeapYear(yearstring string) bool {
year, err := strconv.Atoi(yearstring)
if err != nil {
errInfo := "String conversion to integer failure!"
err = errors.New(errInfo)
}
if ((year%4) == 0 && (year%100) != 0) || (year%400) == 0 {
return true
}
return false
}