Вы можете использовать NSCalendar
, чтобы получить компоненты даты, месяца и года для вашей даты, манипулировать ими и собирать их. Вот пример кода.
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *dateComponents = [calendar components:( NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit ) fromDate:date];
[otherDateComponents setYear:[dateComponents year]];
[otherDateComponents setMonth:[dateComponents month]];
[otherDateComponents setDay:[dateComponents day]];
NSDate *newDate = [calendar dateFromComponents:otherDateComponents];
Имейте в виду, что, поскольку текущий календарь зависит от локали, возвращаемые значения не будут одинаковыми на всех устройствах. Вы можете указать конкретный календарь для ваших целей. NSGregorianCalendar
является наиболее часто используемым на западе.