iOS(Objective-C)でtwitterより取得したcreated_atをyyyy/MM/dd形式に変換する
twitterより取得したcreated_at項目って変換しないと扱いずらいです。
Sat Jan 04 18:30:55 +0000 2014
というわけで、twitterより取得したjsonオブジェクトのcreated_at項目を指定のフォーマットで変換する関数を作ってみました。
- (NSString *)twitterCreatedAtToFormatString:(NSString * )dateString format:(NSString *)format { //引数をNSDateに変換 NSDateFormatter *inputFormat = [[NSDateFormatter alloc] init]; [inputFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]]; [inputFormat setDateFormat:@"eee MMM dd HH:mm:ss ZZZZ yyyy"]; NSDate *date = [inputFormat dateFromString:dateString]; //NSDateを文字列に変換 NSDateFormatter *outputFormat = [[NSDateFormatter alloc] init]; [outputFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"ja_JP"]]; [outputFormat setDateFormat:format]; return [outputFormat stringFromDate:date]; }
利用方法
NSString *inputStr = [tweetMessage objectForKey:@"created_at"]; NSLog(@"%@", outputStr); //-> "Sat Jan 04 18:30:55 +0000 2014" NSString *outputStr = [self twitterCreatedAtToFormatString:inputStr format:@"yyyy/MM/dd HH:mm:ss"]; NSLog(@"%@", outputStr); //-> "2014/01/05 02:19:53"
以上。