2010-03-05 47 views
0

2010年2月26日21:34:00这个字符串的合适的NSDateFormatter格式是什么?

根据我可以找到的所有文档,MMMM,d yyyy H:m:s应该是正确的 - 但是我的NSDate dateFromString返回null。

+0

它的工作对我来说,需要看到的代码多说。 – cobbal 2010-03-05 22:58:09

+0

该格式字符串正常工作。检查你的格式化程序和你传递它的日期不是零。 – nall 2010-03-05 22:59:28

+0

原来我在这个方法中设置了语言环境。 (NSDate *)getDateFromString:(NSString *)dtStr { \t NSDateFormatter * inputFormatter = [[NSDateFormatter alloc] init]; \t [inputFormatter setDateFormat:@“MMMM,dd yyyy HH:mm:ss”]; \t NSDate * formatterDate = [inputFormatter dateFromString:dtStr]; \t [inputFormatter autorelease]; \t return formatterDate; } 把它拿出来了,它现在可以工作。 – 2010-03-05 23:03:12

回答

0

直到我明确地将格式化程序设置为en_US语言环境之前,我曾经遇到过很多这类问题。 systemLocale并不好,因为它可能会比英语(美国)的东西,影响e.g月/工作日名称等,这是一块工作代码:

NSDateFormatter *fmt = [[[NSDateFormatter alloc] init] autorelease];  
[fmt setDateFormat:@"eee MMM dd HH:mm:ss Z yyyy"]; 
[fmt setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]]; 
NSDate *formattedDate = [fmt dateFromString:someStringContainingDate]; 
0

手机设置为哪个区域?如果它不是en_US,则必须使用setLocale将日期格式化程序设置为它。

+0

[inputFormatter setLocale:[NSLocale systemLocale]];我相信这是en_US – 2010-03-05 22:56:07

相关问题