【iOS】Twitter APIの日付(created_at)をNSDateに変換する
公開日:
:
iOS
Twitter APIの日付をNSDateにするのってどうやったっけ??
ども、久しぶりにTwitterのタイムラインを取得して表示するって言う簡単なお仕事をあるアプリに実装しようとして、すっかりいろんなことを忘れてしまっていて、困ってしまったコバです。
超久しぶりだったので、ちょっと止まってしまいました….orz
おまけに、なんだか前にやったときとcreated_atのフォーマット変わってません??
昔:Mon, 23 Dec 2011 10:20:50 +0000
今:Mon Dec 23 0:08:27 +0000 2013
西暦の位置とかカンマがないとか…..
てことで、これまたGoogle師匠にお伺いを…..
いくつかhitしたんですが、参考にさせていただいたサイトはこちらでした。
twitterの検索結果のcreated_atをNSDateに変換する(Objective-C)
実装方針
NSDateFormatterクラスを使ってインスタンス作成
NSLocaleクラスを使って、localeをen_USに設定
→これでMonとかDecをうまく解釈できる
フォーマットを設定(EEE MMM dd HH:mm:ss Z yyyy)
対象となる日付文字列をNSDateに変換する。
こんな感じです。
では実装してみましょウーーー
実装コード
1 2 3 4 5 6 7 8 9 10 |
+(NSDate *)dateTimeFromTwitterDate:(NSString *)twitterTimeString{ NSDateFormatter* inputDateFormatter = [[NSDateFormatter alloc] init]; NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; [inputDateFormatter setLocale:locale]; [inputDateFormatter setDateFormat:@"EEE MMM dd HH:mm:ss Z yyyy"]; NSDate *date = [inputDateFormatter dateFromString:twitterTimeString]; return date; } |
created_atで渡されてきた日付文字列をNSDateにしてくれるメソッドを作ってみました。
フォーマットはcreate_atが「Mon Dec 23 0:08:27 +0000 2013」なので、「EEE MMM dd HH:mm:ss Z yyyy」となります。
以上です。
簡単でしたね。
でわまた。
関連記事
-
[iOS][Swift3.0][ライブラリ]フラットカラーを簡単に使えるChameleon
Swift3.0でフラットなカラーを簡単に使えるようにしたい 2年以上ぶりに放ったらかしにしていた
-
【iOS】RunScriptはいったいどこに行ってしまったの???
RunScriptの追加方法がわからない!? XCode5にかわったとたんいろんなものが変更されて
-
【iOS】Xcode5で作成したStoryboardを使ったプロジェクトをiOS5で実行するとクラッシュするのをなんとかしてください!!!
問題点 XCode5になってからいろいろ変更されて疲れ果ててるコバです。 まぁXCode3から4
-
【iOS】標準言語を日本語に変更する方法
日本国内のみの配布とか、言語は日本語だけでいいよ!!って時に、最初にプロジェクトを標準のテンプレート