使用iPhone SDK的当月的天数?
一个相当直接的问题,我想弄清楚如何使用NSDate或Cocoa touch中类似的东西获得当前月份的当前天数。 谢谢。
你可以使用NSDate
和NSCalendar
类:
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
将包含当前月份的天数。
这里是NSDate
和NSCalendar
的文档的链接,如果你想了解更多的信息。
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