我需要在今天的第30天设置NSDate的值。 我正在寻找一种快速的方法来做到这一点。
坦克!
答案 0 :(得分:11)
根据Apple的NSDate文档,有一种类方法:
+ (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)seconds
60秒/分钟* 60分钟/小时* 24小时/天* 30天应该为您提供所需的秒数。
所以试试:
NSDate *futureDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24 * 30];
答案 1 :(得分:8)
您可以按照以下方式执行此操作:
NSDate *now = [NSDate date];
// now a NSDate object for now + 30 days
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
[offsetComponents setDay:30];
NSDate *endDate = [gregorian dateByAddingComponents:offsetComponents toDate:now options:0];
[offsetComponents release];
[gregorian release];