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 に答える