ios NSDateFormatter使用文字日期从字符串中选择日期

ios NSDateFormatter使用文字日期从字符串中选择日期,ios,objective-c,nsdateformatter,Ios,Objective C,Nsdateformatter,我正在尝试使用日期字符串创建一个日期,该字符串如下: 2014年7月29日星期二17:22:30+0200 我正在使用此代码,但在尝试dateFromString NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"EEE, dd LLL YYYY hh:mm:ss +0200"]; NSLog(@"The date: %@", [dateFormatter

我正在尝试使用日期字符串创建一个日期,该字符串如下:

2014年7月29日星期二17:22:30+0200

我正在使用此代码,但在尝试
dateFromString

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd LLL YYYY hh:mm:ss +0200"];
NSLog(@"The date: %@", [dateFormatter dateFromString:bazosItem.itemDate]);
因此,输出为:

The date: (null)

我一直在互联网上搜索正确的日期格式,并多次复查,我不知道日期出了什么问题。

您的日期格式似乎不正确。试试下面的方法

[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss +0200"];

您的格式中有一些错误,首先,
YYYY
应该是
yyy
第二,
hh
是用于上午/下午的时间,而不是24小时。为此,您应该使用
hh

第三,也是最重要的一点,您应该通过添加区域设置来更改日期的语言格式:

NSString *temp = @"Tue, 29 Jul 2014 17:22:30 +0200";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setDateFormat:@"EEE, dd LLL yyyy HH:mm:ss +0200"];
NSLog(@"The date: %@", [dateFormatter dateFromString:temp]);

不,仍然是(空),我用HH试过了,但没有用MMM试过。试一个准确的。我正在恢复正常。您应该使用小的“yyy”,我做了更正谢谢,我还注意到在应用dateFromString方法之前我忘记了修剪日期字符串。