Найти дату последнего воскресенья с текущей даты

Я хочу найти дату последнего воскресенья от Now. Я просмотрел NSDateComponents, но у меня ничего не получилось. Какие-либо предложения.


person Mobile Developer iOS Android    schedule 03.02.2012    source источник


Ответы (2)


 NSCalendar *gregorian = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
    NSDateComponents *comps = [gregorian components:NSWeekdayCalendarUnit fromDate:[NSDate date]];
    int weekday = [comps weekday];
    NSLog(@"the wee %d",weekday);
    NSDate *lastSunday = [[NSDate date] addTimeInterval:-3600*24*(weekday-1)];
    NSLog(@"nsdar %@",newDate);

это дает вам последнее воскресенье в формате NSDate .. надеюсь, это поможет.

person Ankit Srivastava    schedule 03.02.2012
comment
Н.Б. добавление числа, кратного 24 часам, не обязательно даст вам такое же время в другой день, если вы переходите на летнее время. Если вас интересует только дата (т.е. год, месяц, день), то это нормально, но если вам важно время, вы должны использовать NSCalendar components:fromDate: и dateFromComponents: для получения компонентов года, месяца и дня и добавить (день недели -1) в день. - person yuji; 06.02.2012

Получить последние семь дней с текущей даты. Переберите его, чтобы найти дату, которая является воскресеньем. Не оптимизированное решение. но это сработает.

person Vignesh    schedule 03.02.2012
comment
Итерировать через что? значение дня недели? - person Mobile Developer iOS Android; 03.02.2012
comment
последние семь свиданий. Ответ @ankit намного лучше. - person Vignesh; 03.02.2012