How do I find the number of days in given month and year using swift

后端 未结 8 643
庸人自扰
庸人自扰 2020-12-05 04:06

I want to find the total number days on given month and year. Example: I want to find total number of days on year = 2015, month = 7

8条回答
  •  星月不相逢
    2020-12-05 04:24

    Swift 5

    Another way to approach this:

    extension Date {
    
        func daysInMonth(_ monthNumber: Int? = nil, _ year: Int? = nil) -> Int {
            var dateComponents = DateComponents()
            dateComponents.year = year ?? Calendar.current.component(.year,  from: self)
            dateComponents.month = monthNumber ?? Calendar.current.component(.month,  from: self)
            if
                let d = Calendar.current.date(from: dateComponents),
                let interval = Calendar.current.dateInterval(of: .month, for: d),
                let days = Calendar.current.dateComponents([.day], from: interval.start, to: interval.end).day
            { return days } else { return -1 }
        }
    
    }
    

提交回复
热议问题