1.获取本月第一天周几
func getWeekDay() -> Int {
var calendar = Calendar.current
calendar.firstWeekday = 1
//获取第一天
guard var startDay = calendar.dateInterval(of: .month, for: Date())?.start else{
return 0
}
//修改为当前时区
startDay = startDay.addingTimeInterval(TimeInterval(NSTimeZone.system.secondsFromGMT()))
//获取weakday
return (calendar.dateComponents([.weekday], from: startDay).weekday ?? 1) - 1
}
2.获取本月天数
func getDayofMonth() -> Int{
var calendar = Calendar.current
calendar.firstWeekday = 1
guard var endDay = calendar.dateInterval(of: .month, for: Date())?.end else {
return 31
}
//转换会转为当前时区,只需减1处理
endDay = endDay.addingTimeInterval(.init(-1))
let dateformatter = DateFormatter()
dateformatter.dateFormat = "dd"
let days = dateformatter.string(from: endDay)
return Int(days) ?? 31
}