0

RSSフィードからデータを取得しています。フィードのキーの1つは、アイテムが作成された日時を表す文字列です。

この文字列値をNSDateに変換しようとしています。文字列値は、RSSフィードから2009-11-18T22:08:00 + 00:00として返されます。

私は無駄に次のコードを試しました:

    NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyyMMdd HH:mm"];
NSDate *myDate = [df dateFromString: [[storedDates objectAtIndex:indexPath.row] objectForKey: @"UsersDate"]];

理想的には; 値をNSDate値に変換することに加えて、受話器のローカライズされた日付形式を使用して形式を設定したいと思います。

どんなポインタも大いに役立ちます。

敬具

4

2 に答える 2

6

dateFormatを取得するには:

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *myDate = [df dateFromString: [[storedDates objectAtIndex:indexPath.row] objectForKey: @"UsersDate"]];

ユーザーのロケールに従って日時をフォーマットする場合は、事前定義されたフォーマットを使用できます。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterShortStyle];
[dateFormatter setTimeStyle:NSDateFormatterLongStyle];
NSLog(@"%@",[dateFormatter stringFromDate:someDate]);
[dateFormatter release]; // don't forget to release the dateformatter    

ドキュメントをチェックして、どのフォーマッタが最適かを確認してください。

于 2009-11-19T12:39:49.613 に答える
0

実際、RSSフィードの日付形式は異なる場合があるため、それを解析する最良の方法は次のとおりです。

[NSDate dateFromInternetDateTimeString:processedText formatHint:DateFormatHintRFC822];

これは標準機能ではありません。そのためのライブラリはhttps://gist.github.com/953664にあります。

于 2012-08-19T11:54:39.697 に答える