yinbentan
2024-07-31 b94bef381946e22fd1038f24e6d9de911d194640
utils/timex.go
@@ -17,3 +17,26 @@
   return true
}
func GetMonthByOffset(offset int) time.Time {
   return time.Now().AddDate(0, offset, 0)
}
// GetLastMonthPeriod 返回上个月的月初时间和月末时间
func GetLastMonthPeriod(now time.Time) (firstDay time.Time, lastDay time.Time) {
   // 获取本个月的第一天的日期(即本月月初)
   firstDayOfThisMonth := time.Date(now.Year(), now.Month(), 1, 0, 0, 0, 0, now.Location())
   nextMonth := now.AddDate(0, 1, 0)
   // 获取下月第一天的日期(即下个月月初)
   firstDayOfNextMonth := time.Date(nextMonth.Year(), nextMonth.Month(), 1, 0, 0, 0, 0, now.Location())
   // 下个月月末时间即为本月月初减去一秒
   lastDayOfThisMonth := firstDayOfNextMonth.Add(-time.Second)
   return firstDayOfThisMonth, lastDayOfThisMonth
}
func GetMonthDuration(d time.Time) (duration int) {
   return d.AddDate(0, 1, -1).Day()
}