Посмотрите на NSDateComponents
и dateByAddingComponents:toDate:options:
, это то, что я использую, и это работает довольно хорошо. Обязательно следите за високосными годами.
ОБНОВЛЕНИЕ: я бы использовал пример Томаса. Он работает лучше, чем у меня, и его намного легче читать.