我在使用 NSDate 和 NSDateComponents 计算相对于当前日期的特定日期时遇到了一些麻烦。例如,假设我想上周五。我尝试了以下方法:
NSDateComponents *components = [[NSCalendar currentCalendar] components:(NSYearCalendarUnit| NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSWeekdayCalendarUnit | NSWeekdayOrdinalCalendarUnit) fromDate:[NSDate date]];
[components setHour:0];
[components setMinute:0];
[components setSecond:0];
[components setWeekday:6]; //Friday
[components setWeek:[components week] - 1]; //Last Week
return [[NSCalendar currentCalendar] dateFromComponents:components];
但这只是返回当前日期,好像它无法弄清楚我要的是什么。
这感觉应该很简单,但我只是没有让它工作。任何指针?