Iphone:如何在当前日期添加一年并将其作为字符串以2011-11-20格式返回

时间:2010-09-24 09:39:43

标签: iphone xcode iphone-sdk-3.0

我需要获取当前日期。

然后加一年。

以YYYY-MM-DD格式输出结果,即2011-11-20

1 个答案:

答案 0 :(得分:13)

您需要使用NSCalendar和NSDateComponents来执行您所追求的目标。像下面这样的东西可以解决问题。

NSDate *todaysDate = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
[dateComponents setYear:1];
NSDate *targetDate = [gregorian dateByAddingComponents:dateComponents toDate:todaysDate  options:0];
[dateComponents release];
[gregorian release];

然后以指定格式输出目标日期作为字符串,您可以执行以下操作;

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"yyyy-MM-dd"]; 
NSString* dateString = [dateFormatter stringFromDate:targetDate];

希望这有帮助。