ios - 使用 NSDateFormatter 格式化月份和年份返回无效日期

标签 ios nsdateformatter

我已经设置了语言环境和时区,但是当我格式化日期时,我总是得到无效日期。月份始终为十二月,年份比指定年份少一年。就我而言,我不需要日期组件。

我检查了其他类似的帖子,但没有解决问题。

感谢任何帮助。谢谢。

代码如下:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
dateFormatter.locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]; 
dateFormatter.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"]; 
[dateFormatter setDateFormat:@"MMM YYYY"];
NSDate *formattedDate = [dateFormatter dateFromString:@"Sep 2013"];
NSLog(@"Date: %@", [dateFormatter stringFromDate:formattedDate]);
[dateFormatter release]; dateFormatter = nil;

输出:日期:2012 年 12 月

最佳答案

“YYYY”格式用于基于“一年中的第几周”的日历。请改用“yyyy”格式说明符:

[dateFormatter setDateFormat:@"MMM yyyy"];

关于ios - 使用 NSDateFormatter 格式化月份和年份返回无效日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10084242/

相关文章:

ios - 使用 Swift for iOS 以编程方式创建和存储 PDF 文档

ios - 将 NSDate 拆分为日期和时间

ios - NSDateFormatter 不为 "Asia/Kolkata"或 "z"说明符显示 "zzz"的时区缩写,仅显示 GMT 偏移量

ios - 在 Swift 3.0 的 Xcode 8 中使用 dd-MM-yyyy 将字符串转换为日期得到 nil

ios - 如何存储图像并在我的 iOS 界面中引用它?

ios - 替换 UIView 时假的推送和弹出动画

ios - 如何将带有 Wit.ai iOS SDK 的 iOS 应用程序连接到运行 wit.ai 的 node.js 应用程序?

ios - 如何旋转 iOS 标签并使其贴在屏幕边缘?

objective-c - 为什么我需要保留 NSDateFormatter dateFromString : 的结果

ios - NSDateFormatter的输出不正确