8

我有一个来自 http 响应头字段“日期”的字符串,格式如下:

"Sun, 24 Jun 2012 16:34:51 GMT"

我想要的是将此字符串转换为 NSDate 对象。对于这个范围,我NSDateFormatter使用各种格式实例化了一个:

[dateFormatter setDateFormat:@"EEE',' dd' 'MMM' 'yyyy HH':'mm':'ss zzz"];
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss zzz"];
[dateFormatter setDateFormat:@"EEE',' dd' 'MMM' 'yyyy HH':'mm':'ss 'GMT'"];

但是当我使用日期打印字符串时:

[dateFormatter dateFromString:date]

我收到:

(null)

我在哪里做错了?

4

1 回答 1

9

不确定我是否理解这个问题,因为您自己的代码似乎对我来说很好:

NSString *dateStr = @"Sun, 24 Jun 2012 16:34:51 GMT";

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE',' dd' 'MMM' 'yyyy HH':'mm':'ss zzz"];

NSDate *date = [dateFormatter dateFromString:dateStr];

NSLog(@"Date: %@", date);

这给出了这个输出:

日期:2012-06-24 16:34:51 +0000

除非我误解了你的问题,否则这是正确的结果。

于 2012-06-24T17:56:23.933 回答