我有一个日期字符串,如下所示: 3月13日' 15
我无法找到解析此问题的正确方法。我尝试过以下方法:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MMM dd ''YY"];
//[df setDateFormat:@"MMM dd 'YY"];
//[df setDateFormat:@"MMM dd YY"];
NSDate *date = [df dateFromString:label.text];
有没有人知道如何使用setDateFormat? 感谢^^
答案 0 :(得分:2)
YY
是基于星期的日历,用于某些非格里高利历的日历。您通常应该使用yy
代替。请参阅unicode reference of valid date pattern。
您应该将语言环境设置为en_US_POSIX
,以确保将日期解析为英语语言中的日期。例如,在德语区域设置中,您的转换将失败,因为今天Mar 13 '15
而不是März 13 '15
。
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MMM dd ''yy"];
[df setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]];
答案 1 :(得分:0)
您使用的是错误的年份样式,您需要使用小写y。
[df setDateFormat:@"MMM d ''yy"];
大写Y记录为“年份(基于”年度周“的日历)。”并提到“可能并不总是与日历年相同”。看到: http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns