我有一个从http响应头字段“Date”中提取的字符串,格式为:

"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)

我在哪里做错了?

最佳答案

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

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);

给出以下输出:



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

关于objective-c - Http Date到NSDate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11179276/

10-13 06:35