2009-11-13 7 views
15

के साथ किसी भी महीने के सभी दिन प्राप्त करें एक सामान्य प्रश्न है ... मैं किसी निर्दिष्ट महीने के लिए दिनों की सूची कैसे वापस कर सकता हूं?उद्देश्य-सी

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, जनवरी के महीने की जगह चाहते हैं, तो मैं उन दिनों

उत्तर

60

कार्ल का जवाब मैक पर काम करता है। मैक या आईफोन पर निम्नलिखित काम (कोई dateWithNaturalLanguageString: वहां उपलब्ध नहीं है)।

NSCalendar *calendar = [NSCalendar currentCalendar]; 
NSDateComponents *components = [[[NSDateComponents alloc] init] autorelease]; 

// Set your year and month here 
[components setYear:2015]; 
[components setMonth:1]; 

NSDate *date = [calendar dateFromComponents:components]; 
NSRange range = [calendar rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:date]; 

NSLog(@"%d", (int)range.length); 
+0

मैं उस पर एक +1 दूंगा। =) –

+0

धन्यवाद। मूल पोस्टर निर्दिष्ट नहीं किया था, इसलिए मुझे यकीन नहीं था। – nall

+0

हाँ ... मेरा बुरा। निर्दिष्ट होना चाहिए था :( – rson

2

आप काफी किसी भी तार के साथ अपनी तिथि बना सकते हैं के सभी लौट सकते हैं:

NSDate *date = [NSDate dateWithNaturalLanguageString:@"January"]; 

तो आपका शेष कोड जनवरी में दिनों की संख्या के लिए आपको NSRange वापस देने के लिए काम करेगा।

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

  • कोई संबंधित समस्या नहीं^_^