ios आईओएस एसडीके में हफ्ते की तारीखें




calendar nscalendar (4)

मैं दिन के नाम के साथ वर्तमान और अगले सप्ताह की तिथियां प्राप्त करना चाहता हूं।

यानी यदि आज की तारीख 28-06-2013 (शुक्रवार) है तो मैं 23-06-2013 (रविवार) से 29-06-2013 (शनिवार) की तारीखों को इस वर्तमान सप्ताह के रूप में प्राप्त करना चाहता हूं

अगले हफ्ते के लिए मैं 30-06-2013 (रविवार) से 06-07-2013 (शनिवार) की तारीखें प्राप्त करना चाहता हूं।

मैं यह कैसे कर सकता हूँ?

धन्यवाद,

https://code.i-harness.com


NSDate उदाहरण को NSDateComponents उदाहरण में कनवर्ट करने के लिए, एक दिन एनएसडीटेकंपन्न करने के लिए एनएससीटाइंडर उदाहरण का प्रयोग करें और उस एनएसडीटा उदाहरण को वापस कनवर्ट करने के लिए एनएससीएलेण्डर का उपयोग करें। अंतिम दो चरणों को दोहराएं जब तक आप अपनी समाप्ति तिथि तक नहीं पहुंच जाते।

NSDate *currentDate = [NSDate date];
 NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
 NSDateComponents *comps = [[NSDateComponents alloc] init];
 [comps setDay:1];
 NSDate *nextDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];

या फिर प्रारंभ तिथि और समाप्ति तिथि खोजें। पसंद

NSDate *startDate = [NSDate date];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:7];
 NSDate *endDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];

तो, एनएसडीट अगले डेट;

for ( nextDate = startDate ; [nextDate compare:endDate] < 0 ; nextDate = [nextDate addTimeInterval:24*60*60] ) {
  // use date
}

उम्म, मैं इस या कुछ पर एक विशेषज्ञ नहीं हूं, लेकिन ऐसा करने का एक गम्भीर तरीका पहले NSDate से सप्ताह के दिन को पहचानने में सक्षम होना है। तो आप if बयान में जोड़ सकते हैं तो अगर बयानों की तारीख और nslog जोड़ सकते हैं या उनमें से प्रत्येक को nslog कर सकते हैं। या मुझे लगता है कि आईओएस कैलेंडर तक पहुंचने का एक तरीका है।

ठीक है, ऊपर उपरोक्त बहुत ज्यादा कहा और मैंने जो कुछ कहा, उससे अधिक किया। हाँ, मेरे सामने पोस्ट पर लिंक की जांच करें।


सप्ताह के दिन का पता लगाने के लिए NSDateComponents का उपयोग करें और उसके बाद पहले और उसके बाद की तारीख की आवश्यकता का पता लगाएं।


मैं एक उत्तर कॉपी और पेस्ट करने जा रहा था, लेकिन मुझे यह पोस्ट पढ़ने और पढ़ने का सुझाव था: वर्तमान सप्ताह का प्रारंभ और समापन दिनांक । ऐसा लगता है कि आप जो चाहते हैं उसे प्राप्त करने में आपकी सहायता करेंगे।

शायद ऐसा कुछ:

NSDate *now = [NSDate date];

NSCalendar *calendar = [NSCalendar currentCalendar];
NSInteger weekNumber =  [[calendar components: NSWeekCalendarUnit fromDate:now] week];

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

NSDateComponents *comp = [gregorian components:NSYearCalendarUnit fromDate:now];
[comp setWeek:weekNumber];  //Week number.

int i;

for (i = 1; i < 8; i=i+1){

    [comp setWeekday:i]; //First day of the week. Change it to 7 to get the last date of the week

    NSDate *resultDate = [gregorian dateFromComponents:comp];

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"EEEE MMMM d, yyyy"];

    NSString *myDateString = [formatter stringFromDate:resultDate];
    NSLog(@"%@",myDateString);

}