2009-07-24 73 views

回答

159

可以使用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:函數返回當前月份的天數。

days.length將包含當月的天數。

這裏是NSDateNSCalendar的文檔鏈接,如果你想了解更多信息。

+0

看起來這將這樣的伎倆。謝謝:) – 2009-07-24 20:34:15

+0

我認爲你的意思是對於日期:今天 – 2009-07-24 20:55:14

+0

是的,我確實,對不起,當我在Xcode中測試它時,把它叫做日期。 – 2009-07-24 20:59:14

4

-[NSCalendar rangeOfUnit:inUnit:forDate:]

9

斯威夫特語法:

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

斯威夫特3語法已經改變了一點從埃雷茲的回答是:

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