के बाद कोड समस्या से पता चलता विफल रहता है?साल घटक जोड़ना
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setDay:1];
[components setMonth:1];
[components setYear:1435];
NSCalendar *islamic = [[NSCalendar alloc] initWithCalendarIdentifier:NSIslamicCalendar];
NSDate *date = [islamic dateFromComponents:components];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setCalendar:islamic];
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
NSLog(@"%@", [dateFormatter stringFromDate:date]); // -> 01.01.1435
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
[offsetComponents setYear:1];
NSDate *dateWithOffset = [islamic dateByAddingComponents:offsetComponents toDate:date options:0];
NSLog(@"%@", [dateFormatter stringFromDate:dateWithOffset]);
// -> 30.12.1435 ... WHY NOT 01.01.1436 ????
कोई समाधान नहीं है लेकिन समस्या को कम करने में मदद कर सकता है: क्या आपने ग्रेगोरियन जैसे किसी भिन्न प्रकार का उपयोग करके अपना प्रारंभिक कैलेंडर बनाने का प्रयास किया है? इसे आज़माएं और देखें कि क्या समस्या अभी भी इस्लामी घटक को रद्द करने या संकीर्ण करने के लिए होती है, संभवतः कुछ क्विर्क होने का कारण बनता है। – Dima
अन्य कैलेंडर (ग्रेगोरियन, हेब्रू, बौद्ध) के साथ एल्गोरिदम ठीक काम करता प्रतीत होता है - कम से कम उस समय अंतराल के लिए मैंने देखा। यहां तक कि अधिकांश इस्लामिक वर्षों के लिए यह काम करता है, लेकिन कुछ नहीं करते हैं। –
मैंने एक नई परियोजना बनाई और इसमें अपना कोड कॉपी किया। आईओएस 4.3, 5.0, और 5.1 के तहत मुझे अपेक्षित परिणाम मिला। 'मुह। 1, 1435' और 'मुह। 1, 1436' –