【发布时间】:2012-04-29 20:48:06
【问题描述】:
我似乎无法从当前日期减去 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 更改。 -
应该可以。如果你加 1 而不是减 7,它会起作用吗?您如何确定 SevenDaysAgo 指的是今天?
标签: objective-c ios nsdate