ดูเหมือนว่าจะลบ 7 วันจากวันที่ปัจจุบันไม่ได้ นี่คือวิธีที่ฉันทำ:
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 ได้รับค่าเดียวกับวันที่ปัจจุบัน
กรุณาช่วย.
แก้ไข: ในรหัสของฉันฉันลืมแทนที่ตัวแปรที่รับวันที่ปัจจุบันด้วยวันที่ถูกต้อง ดังนั้นโค้ดด้านบนจึงใช้งานได้
[NSDate dateWithTimeIntervalSinceReferenceDate:[NSDate date].timeIntervalSinceReferenceDate - (7*24*60*60)]
- แม้ว่าจะไม่รองรับการเปลี่ยนแปลง DST