JavaのSimpleDataFormatのフォーマットパラメータにタイムゾーン指定を追加すると +0900 が追加される
ISO8601では+09:00も有効である。なのでSimpleDataFormatではJava7からZに加えてXを定義している
String a = "yyyy-MM-dd'T'HH:mm:ssZ"; //+0900になる String b = "yyyy-MM-dd'T'HH:mm:ssX"; //+09になる String c = "yyyy-MM-dd'T'HH:mm:ssXXX"; //+09:00になる
が、AndroidはベースがJava6なのでXを使うとフォーマットエラーになる。
その代わりという訳でもないが +0900だろうが+09:00だろうがどちらもZでパースしてくれる
(Java7だとパースエラーになる)
テストコードを書く時にハマったのでメモ。