好的,我觉得有点愚蠢地问这个,但任何想法为什么这不起作用:
{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"mmmm dd, yyyy"];
NSDate *myDateFromString = [formatter dateFromString:creditDate.text];
NSLog(@"%@", myDateFromString);
[self.credit setCertificationDate: myDateFromString];
}
返回null
答案 0 :(得分:3)
格式和字符串不匹配,因为“m”是分钟,“M”是月份。所以“2012年8月18日”不能被解释,取而代之的是“MMMM dd yyyy”而你可以在unicode.org检查格式
我总是明确设置一个语言环境:
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[dateFormatter setLocale:usLocale];
[usLocale release];
只要您不解析月份名称,如果您提供明确的格式字符串,那么您的真实语言环境是否为en_US无关紧要。
更多提示: