Iphone 使用NSDateFormatter dateFromString

Iphone 使用NSDateFormatter dateFromString,iphone,objective-c,nsdate,nsdateformatter,Iphone,Objective C,Nsdate,Nsdateformatter,我有一个密码: NSString *dateStr = [currentElementValue stringByRemovingNewLinesAndWhitespace]; NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"EE, dd MMM yyyy hh:mm:ss ZZ"]; 我从服务器接收的日期如下所示: Tue, 08 Jan 2013 13:21

我有一个密码:

NSString *dateStr = [currentElementValue stringByRemovingNewLinesAndWhitespace];

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE, dd MMM yyyy hh:mm:ss ZZ"];
我从服务器接收的日期如下所示:

Tue, 08 Jan 2013 13:21:54 +0000
但当我使用时,我的问题是:
[dateFormat-dateFromString:dateStr]

Mon, 07 Jan 2013 10:31:30 +0000 converted to 07-01-2013
但是
2013年1月2日星期三15:12:57+0000
无法转换

有人知道为什么会这样吗

任何帮助都将不胜感激。:)

详细描述了所有格式说明符
hh
代表“小时(1-12,零填充)”-因此您不能在此处写入
15h
。如果希望使用24小时制格式,请改用
HH

[dateFormat setDateFormat:@"EE, dd MMM yyyy HH:mm:ss ZZ"];

查看日期格式字符串的说明(可通过NSDateFormatter说明中的链接链访问)。当你应该用“hh”时,你用了“hh”。天哪!它真的解决了我的问题,只是把hh改成hh,它就解决了。@HotLicks哦,你更快了!(直到发布我的答案才看到评论。)也回答你。这里还有一个问题(我正在处理一些rss提要):任何人都可以找出这个字符串的格式:'2013-01-07T08:23:00.001+02:00'?@iremk:
yyy-MM-dd'HH:MM:ss.ssszzzz
和另一个问题(我正在处理一些rss提要):任何人都可以计算出此字符串的格式:'2013-01-07T08:23:00.001+02:00'?@iremk--取决于您的目标iOS版本。对于旧版本,在解析之前必须从字符串中删除最后的“:”。你可以用“ZZZZZ”。