0

Twitter がWed Sep 14 18:52:57 +0000 2011JSON 形式で返されるとします。表示が のように見えるように解析するにはどうすればよいですかSep 2011。私は知っていDateFormatterます。次のコードを試しましたが、引き続き me が返されますNull

NSString *created = [(NSDictionary *)TWData objectForKey:@"created_at"];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"MMM yyyy"];
    NSDate *date = [dateFormatter dateFromString:created];
   tweetingSince.text= [NSString stringWithFormat:@"@%@",[dateFormatter    stringFromDate:date]];
4

2 に答える 2

1

created入力文字列を解析NSDateし、解析された日付から最終的な出力形式を作成するために、同じ日付形式を使用しています。日付フォーマッタはWed Sep 14 18:52:57 +0000 2011、日付形式を使用して日付を解析できませんMMM yyyydateこれがが nilである理由です。

編集: また、すばやくグーグル検索すると、SO: iPhone + Twitter API: Convert time? でこの結果が得られました。

編集 2: 適切なNSDate解析を行うコードは次のようになります

NSString *created = [(NSDictionary *)TWData objectForKey:@"created_at"];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
//  Parse input string to NSDate
[dateFormatter setDateFormat:@"EEE MMM dd HH:mm:ss Z yyyy"];
NSDate *date = [dateFormatter dateFromString:created];
//  Convert parsed date to output format
[dateFormatter setDateFormat:@"MMM yyyy"];
tweetingSince.text= [NSString stringWithFormat:@"@%@",[dateFormatter    stringFromDate:date]];
于 2013-05-22T13:41:53.753 に答える