मैं बीसी युग में एक तिथि बनाने की कोशिश कर रहा हूं, लेकिन बहुत मेहनत में विफल रहा हूं। निम्नलिखित रिटर्न '4713' साल के रूप में, के बजाय '-4712':दूरस्थ अतीत में एक विशिष्ट तिथि कैसे बनाएं, बीसी युग
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [NSDateComponents new];
[components setYear: -4712];
NSDate *date = [calendar dateFromComponents:components];
NSLog(@"%d", [[calendar components:NSYearCalendarUnit fromDate: date] year]);
किसी भी विचार मैं गलत क्या कर रहा हूँ?
अद्यतन: वर्किंग कोड
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [NSDateComponents new];
[components setYear: -4712];
NSDate *date = [calendar dateFromComponents:components];
NSDateComponents *newComponents = [calendar components:NSEraCalendarUnit|NSYearCalendarUnit fromDate:date];
NSLog(@"Era: %d, year %d", [newComponents era], [newComponents year]);
इस युग के लिए प्रिंट 0, बस के रूप में बेन की व्याख्या की।
मुझे पता था कि मैं पहेली का एक टुकड़ा खो रहा था :) बहुत बहुत धन्यवाद! (कोड का अद्यतन संस्करण जोड़ा गया) – alloy