Wygląda na to, że nie mogę odjąć 7 dni od aktualnej daty. Oto jak to robię:
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
[offsetComponents setDay:-7];
NSDate *sevenDaysAgo = [gregorian dateByAddingComponents:offsetComponents toDate:[NSDate date] options:0];
SevenDaysAgo otrzymuje tę samą wartość, co bieżąca data.
Proszę pomóż.
EDYCJA: W moim kodzie zapomniałem zamienić zmienną, która pobiera aktualną datę, na właściwą. Więc powyższy kod działa.
[NSDate dateWithTimeIntervalSinceReferenceDate:[NSDate date].timeIntervalSinceReferenceDate - (7*24*60*60)]
- Chociaż nie obsługuje zmian czasu letniego.