2010-02-12 101 views
1

为什么在执行这段代码后iPhone模拟器3.1.2上的lDateFormattednil为什么NSDateFormatter返回nil?

NSString *lDateString = @"Wed, 17 Feb 2010 16:02:01"; 
NSDateFormatter* dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy hh:mm:ss"]; 
NSDate *lDateFormatted = [dateFormatter dateFromString: lDateString ]; 

任何想法表示赞赏,感谢

回答

1

你可能想使用HH好几个小时,这是0-23 /军人作风 此外,您可能需要把单一的蜱虫在你的逗号状','

参考:the UTS docdate formatting guide

+0

在这种情况下,蜱似乎没有必要,但我把它们放在反正。谢谢! – 2010-02-12 18:29:55

0

DateFormatter格式正确,但您可能已设置错误的语言环境。尝试这一个(我的项目之一的工作示例代码):

NSDateFormatter *格式化= [[NSDateFormatter的alloc] INIT];
NSLocale * enUS = [[NSLocale alloc] initWithLocaleIdentifier:@“en_US”];
[formatter setLocale:enUS];
[enUS release];
[formatter setDateFormat:@“EEE,dd MMM yyyy HH:mm:ss”];
...
[格式化发行]

+0

注意:如果当前设备设置为军事时间(24小时格式),如果您在NSDateFormatter中强制使用“en_US”语言环境,则最终可能会出现无日期对象。 – 2012-05-07 18:32:53

相关问题