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

Posted

技术标签:

【中文标题】Iphone:如何将年份添加到当前日期并将其作为字符串返回,格式为 2011-11-20【英文标题】:Iphone: How do I add a year to the current date and return it as a string in the format 2011-11-20 【发布时间】:2010-09-24 09:39:43 【问题描述】:

我需要获取当前日期。

然后添加一年。

并以 YYYY-MM-DD aka 2011-11-20 格式输出结果

【问题讨论】:

【参考方案1】:

您将需要使用 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];

希望这会有所帮助。

【讨论】:

如何将其输出为字符串? 对不起,朱尔斯,最后错过了那一点。已更新原始答案以包含显示如何将日期转换为所需字符串格式的代码。

以上是关于Iphone:如何将年份添加到当前日期并将其作为字符串返回,格式为 2011-11-20的主要内容,如果未能解决你的问题,请参考以下文章

iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法

如何使用 Vba 获取当前年份

如何将日期转换为年份? [复制]

如何在 iphone 应用程序开发中添加两个 uiimageview 并将其保存到 iphone 照片库?

如何设置 jQuery 日期选择器的年份范围:1900 到当前年份,或 1900 到 9999

Windows批处理:如何读取文件中的日期和时间并将其与当前日期和时间进行比较