Sepertinya saya tidak bisa mengurangi 7 hari dari tanggal sekarang. Beginilah cara saya melakukannya:
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 mendapatkan nilai yang sama dengan tanggal saat ini.
Tolong bantu.
EDIT: Dalam kode saya, saya lupa mengganti variabel yang mendapatkan tanggal sekarang dengan yang benar. Jadi kode di atas berfungsi.
[NSDate dateWithTimeIntervalSinceReferenceDate:[NSDate date].timeIntervalSinceReferenceDate - (7*24*60*60)]
- Meskipun tidak menangani perubahan DST.