2014年12月31日我的错误日期。示例代码:
NSDateFormatter *dateF =[[NSDateFormatter alloc] init];
NSLocale *enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateF setLocale:enUSPOSIXLocale];
[dateF setDateFormat:@"MM/DD/yyyy"];
NSDate *date = [dateF dateFromString:@"12/31/2014"];
NSLog(@"Date for locale %@: %@",
[[dateF locale] localeIdentifier], [dateF stringFromDate:date]);
date = [dateF dateFromString:@"01/01/2013"];
NSLog(@"Date for locale %@: %@",
[[dateF locale] localeIdentifier], [dateF stringFromDate:date]);
返回的结果是:
Date for locale en_US_POSIX: 12/335/2014
Date for locale en_US_POSIX: 01/01/2013
这引出了许多问题。 1)我如何获得正确的约会? 2)一个月怎么可以有335天?
感谢所有人,
答案 0 :(得分:0)
“D”是一年中的某一天,你想要一天中的“d”日。
你想:
[dateF setDateFormat:@"MM/dd/yyyy"];
请参阅:ICU Formatting Dates and Times网页。
另一个常见错误是使用“Y”,即“年”周而不是“y”年。