码:
NSString *ds = @"2013-02-25";
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"YYYY-MM-dd"];
NSDate* date = [formatter dateFromString:ds];
NSLog(@"%@", date); //2012-02-24 16:00:00 +0000
[formatter setDateFormat:@"MMM dd, YYYY"];
NSLog(@"%@", [formatter stringFromDate:date]); //Feb 25, 2012
我做错什么了吗?还是iOS 6 SDK错误?
最佳答案
改变这个:
[formatter setDateFormat:@"YYYY-MM-dd"];
[formatter setDateFormat:@"MMM dd, YYYY"];
至 :
[formatter setDateFormat:@"yyyy-MM-dd"];
[formatter setDateFormat:@"MMM dd, yyyy"];
错误原因,
使用YYYY是一个常见的错误。 yyyy指定日历年
而YYYY指定在ISO中使用的年份(“一周中的年份”)
年周日历。在大多数情况下,yyyy和YYYY产生相同的结果
数字,但是它们可能不同。通常,您应该使用
公历年。
关于ios - NSDateFormatter错误,返回日期一年前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15104564/