2010-05-16 8 views
10

इस गणना करने के लिए महीने और लीप वर्ष की गणना करने के बजाय। ऐसा करने के लिए कुछ ऐप्पल आंतरिक एपीआई का उपयोग करने का कोई तरीका है?उद्देश्य सी का उपयोग कर महीने में दिनों की संख्या खोजने का कोई तरीका?

मैंने पाया कि जावा कुछ इस तरह है:

calendar.getActualMaximum(calendar.DAY_OF_MONTH) 

वहाँ उद्देश्य सी के लिए किसी भी इसी तरह बात है? आप

उत्तर

53

आप NSCalendar और इसकी rangeOfUnit:inUnit:forDate विधि का उपयोग कर सकते हैं। उदाहरण के लिए, चालू माह में दिनों की संख्या प्राप्त करने के लिए:

NSCalendar *calendar = [NSCalendar currentCalendar]; 
NSRange range = [calendar rangeOfUnit:NSDayCalendarUnit inUnit:NSMonthCalendarUnit forDate:[NSDate date]]; 
NSUInteger numberOfDaysInMonth = range.length; 
+4

फरवरी के लिए परीक्षण किया गया: 'rng.length' लीप वर्ष पर 29 और 28 गैर लीप वर्ष पर (अपेक्षा के अनुरूप है, लेकिन यह चोट नहीं करता है जांचने के लिए) – Clafou

+3

** आईओएस 8 ** और ऊपर ** जानकारी के लिए बस 'NSDayCalendarUnit' और 'NSMonthCalendarUnit'' NSCalendarUnitDay' और 'NSCalendarUnitMonth' हैं। – TheTiger

संबंधित मुद्दे