ぺぷしのーげん

大企業からスタートアップに転職したアプリケーションエンジニアのブログ

Gmail APIのUsers.Messages.getのDateのフォーマットが違う!?|Gmail/API/Swift

f:id:hazakurakeita:20150903180008j:plain

ぱくたそ - フリー写真素材・無料ダウンロード

何回かGmail APIでメールを取得していたら気づいた。なんとDateのフォーマットが違う。なぜだ。。。

Users.messages: get  |  Gmail API  |  Google Developers

 

Users.Messages.getのDateのフォーマットが違う

日付を処理してたら、あるとき例外が発生。そんな馬鹿な、そこの処理変えてないんだけど。調べてみたら配列に入っているデータがズレてる。えー。調べてみたら、下記の2種類のフォーマットがあることが判明。

    "name": "Date",
    "value": "Thu, 8 Oct 2015 00:02:38 +0900"

 ずっと上記のフォーマットに対して処理してました。文字列をスペースで分割したりしてNSDate型に変換します。で、色々触っててふと違うメールに対して処理を実行したらクラッシュ。調べてみたらDateのフォーマットが次のようになってた。

    "name": "Date",
    "value": "15 Jul 2014 13:38:01 +0900"

 なんでフォーマットが違うんだよ。。。2014年以前だと曜日がないのかなー?仕様が分からないので、両方を区別して処理を変えないといけませんね。なんだかなー。

 

おしまい。