NSDate - год назад, дилемма

Я пытаюсь сделать что-то, что для меня немного сложно. Но я уверен, что у кого-то есть какая-то информация.

Учитывая дату, скажем, 17 января 2011 г. , я пытаюсь вычислить день, который соответствует этой дате год назад. Итак, 17 января 2011 года - понедельник, а год назад этот день выпал на 18 января 2010 года (также понедельник). Оказывается, 18 января 2010 г. на 354 дня раньше 17 января 2011 г. . Первоначально я думал просто вычесть 365 дней для невисокосного года и 366 дней для високосного года, но если вы сделаете это в этом случае, вы получите 17 января 2010 г. , то есть воскресенье. , а не понедельник.

Итак, в Objective-C с NSDate и NSCalendar , как я мог бы реализовать такую ​​функцию, как:

-(NSDate *)logicalOneYearAgo:(NSDate *)from {
}

Другими словами, n-й " будний день »n-го месяца (где« будний день » это понедельник, вторник или среда и т. д.)

5
задан Sergey Kuryanov 23 March 2013 в 14:30
поделиться