2012-03-05 38 views
1

之间的碰撞怪我有一个字符串日期:的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]; 

在模拟器得到了适当的日期,如: 2012-02-08 17:21:09 +0000 但在设备上的日期=零。为什么?

回答

3

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

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

在致电dateFromString之前。

+0

感谢这帮了我! – Stas 2012-03-05 14:56:25