NSDate-模拟器和设备之间的奇怪碰撞



我有一个字符串日期:

newsItem.Date = @"2/8/2012 7:21:09 PM";

代码:

NSString* dateString = newsItem.Date;
NSDateFormatter* firstDateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[firstDateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate* date = [firstDateFormatter dateFromString:dateString];

在模拟器中,a得到了正确的日期,如:2012-02-08 17:21:09+000但在设备上,日期为零。为什么?

设备可能使用不同的区域设置,其中字符串不是有效的日期。尝试添加以下内容:

firstDateFormatter.locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease];

在调用CCD_ 1之前。

最新更新