NSCalendar *gregorian = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
NSInteger year = [gregorian component:NSCalendarUnitYear fromDate:NSDate.date];
Примечание: кроме NSGregorianCalendar есть несколько идентификаторов календаря. Используйте все, что подходит для вашей страны. Вы можете запросить любой набор компонентов, который вам нужен, поразрядно ИЛИ объединяя поля (например, NSYearCalendarUnit | NSMonthCalendarUnit) и используя вместо этого components:fromDate
. Вы можете прочитать об этом в Руководство по программированию даты и времени .
С компонентами календаря в качестве примитивных типов сравнения эффективны.