NSCalendar
имеет единицу NSCalendarUnitEra
, которая представляет B.C. и А.Д., который имеет более высокую степень детализации, чем год
Однако я заметил, что многие библиотеки и даже я не заботимся об Эре
Так, какова рекомендация по поводу эры? нормально ли всегда использовать 0? (текущая эра - 1), или я должен везде исправить свой код, чтобы использовать текущую эру? Каковы последствия обоих?
С
NSDateComponents * dc = [NSDateComponents new];
dc.day = [c[0] integerValue];
dc.month = [c[1] integerValue];
dc.year = [c[2] integerValue];
NSDate * date = [[NSCalendar currentCalendar] dateFromComponents:dc];
К
NSDateComponents * dc = [NSDateComponents new];
dc.era = [[NSCalendar currentCalendar] component:NSCalendarUnitEra fromDate:[NSDate new]];
dc.day = [c[0] integerValue];
dc.month = [c[1] integerValue];
dc.year = [c[2] integerValue];
NSDate * date = [[NSCalendar currentCalendar] dateFromComponents:dc];