使用iOS的当月天数?

时间:2009-07-24 20:17:33

标签: ios datetime cocoa cocoa-touch nscalendar

如何在Cocoa touch中使用NSDate或类似内容获取当月的当前天数?

3 个答案:

答案 0 :(得分:161)

您可以使用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是表示当前日期的NSDate对象;这可以用来计算当月的天数。然后实例化NSCalendar对象,可以与当前日期的NSDate一起使用,以使用rangeOfUnit:inUnit:forDate:函数返回当前月份的天数。< / p>

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

如果您需要更多信息,请参阅NSDateNSCalendar文档的链接。

答案 1 :(得分:5)

-[NSCalendar rangeOfUnit:inUnit:forDate:]

答案 2 :(得分:1)

Swift 3语法与Erez的回答有所改变:

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