Я пытаюсь сделать что-то, что для меня немного сложно. Но я уверен, что у кого-то есть какая-то информация.
Учитывая дату, скажем, 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-го месяца (где« будний день » это понедельник, вторник или среда и т. д.)