我已经设置了语言环境和时区,但是当我格式化日期时,我总是得到无效日期。月份始终为十二月,年份比指定年份少一年。就我而言,我不需要日期组件。
我检查了其他类似的帖子,但没有解决问题。
感谢任何帮助。谢谢。
代码如下:
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/