Webサービスから受け取った日付文字列の解析/フォーマットに苦労しています。私は複数のアプローチを試みましたが、運がありませんでした。
サンプルの日付文字列:
2011-10-05T03:00:00Z
例外:
W/System.err(10072): java.text.ParseException: Unparseable date: "2011-10-05T05:00:00Z" (at offset 10)
W/System.err(10072): at java.text.DateFormat.parse(DateFormat.java:626)
サンプルコード:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:SSSS");
Date date = formatter.parse(info.AiringTime);
日付と時刻の間の「T」を削除してスペースに置き換えると、正常にフォーマットされることがわかりました。誰か提案がありますか?
- アップデート -
APIドキュメントを詳しく調べたところ、次のことがわかりました。
すべての応答DateTime値はUTC形式です。表示の現地時間を計算するには、UTCオフセットを適用する必要があります。
DateTimeは、次のいずれかの形式で指定された日時の値です。
UTC形式:YYYY-MM-DDThh:mm:ssZ。例:2011-03-15T02:00:00Z。
オフセットのある現地時間:YYYY-MM-DDThh:mm:ss +または--hh:mm(正または負のオフセット)。たとえば、米国太平洋時間の場合:2011-03-14T06:00:00-08:00。
UTC形式のアプローチに関する提案はありますか?