使用iPhone SDK的当月的天数?

一个相当直接的问题,我想弄清楚如何使用NSDate或Cocoa touch中类似的东西获得当前月份的当前天数。 谢谢。

你可以使用NSDateNSCalendar类:

 NSDate *today = [NSDate date]; //Get a date object for today's date NSCalendar *c = [NSCalendar currentCalendar]; NSRange days = [c rangeOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:today]; 

today是代表当前date的NSDate对象; 这可以用来计算当月的天数。 然后实例化一个NSCalendar对象,该对象可以与当前date的NSDate结合使用,以使用rangeOfUnit:inUnit:forDate:函数返回当前月份的天数。

days.length将包含当前月份的天数。

这里是NSDateNSCalendar的文档的链接,如果你想了解更多的信息。

Swift语法:

 let date = NSDate() let cal = NSCalendar(calendarIdentifier:NSCalendarIdentifierGregorian)! let days = cal.rangeOfUnit(.CalendarUnitDay, inUnit: .CalendarUnitMonth, forDate: date) 

-[NSCalendar rangeOfUnit:inUnit:forDate:]

Swift 3的语法已经从Erez的答案中改变了一点:

 let cal = Calendar(identifier: .gregorian) let monthRange = cal.range(of: .day, in: .month, for: Date())! let daysInMonth = monthRange.count