如何使用NSDate类的类或实例方法计算当前日期“给定时间”之前的日期?

时间:2012-02-23 10:21:48

标签: iphone objective-c nsdate

需要从当前日期开始计算给定时间之前的日期(让它为10年),并且不想手动执行此操作。是否有任何NSDate类的默认类或实例方法执行此操作。我经历了NSDate Class reference但无法获得所需的回复。

如果没有,请建议任何正确的方法来实现这一点。

1 个答案:

答案 0 :(得分:3)

这是我用来计算monthsBack个月值的示例,但您可以将setMonth替换为setYear:

int monthsBack = [limitMonths.value intValue];
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
[dateComponents setMonth:-monthsBack];
NSCalendar *calendar = [NSCalendar currentCalendar];
dLimitMonths = [calendar dateByAddingComponents:dateComponents toDate:[NSDate date] options:0];