使用字符串格式“Sun,2012年1月8日13:57:38 +0000”将NSString转换为NSDate

时间:2012-01-08 14:16:44

标签: iphone date nsdateformatter

我实际上以格式“Sun,2012年1月8日13:57:38 +0000”检索字符串日期 为此,我使用dateFormat“EEE,dd MMM yyyy HH:mm:ss ZZZ” 但它不起作用......

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZZ"];
NSLog(@"%@",[dict objectForKey:@"created_at"]);
NSDate *dateFromString = [dateFormatter dateFromString:[dict objectForKey:@"created_at"]];
NSLog(@"%@",dateFromString);

对于第一个NSLog,它显示我“Sun,2012年1月8日13:57:38 +0000” 但第二个是(null)

我不明白我错在哪里。 如果你看错了,请告诉我。

由于

1 个答案:

答案 0 :(得分:3)

您的日期字符串是英文的。如果您的设备或模拟器区域设置设置为其他语言,则可能是问题所在。如果是这样,您需要将NSDateFormatter的语言环境设置为英语。

像这样:

[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];