この日付形式は何ですか? 2011-08-12T20:17:46.384Z 質問する

この日付形式は何ですか? 2011-08-12T20:17:46.384Z 質問する

次の日付があります: 2011-08-12T20:17:46.384Z。これはどのような形式ですか? Java 1.4で解析しようとしていDateFormat.getDateInstance().parse(dateStr)ますが、

java.text.ParseException: 解析できない日付: "2011-08-12T20:17:46.384Z"

私は使うべきだと思うシンプルな日付形式解析するためには、まずフォーマット文字列を知る必要があります。今のところわかっているのは だけです。この文字列の のyyyy-MM-dd意味がわからないからTです。タイムゾーンに関連した何かでしょうか? この日付文字列はlcmis:downloadedOnファイル CMIS ダウンロード履歴 メディアタイプ

ベストアンサー1

T は日付と時間を区切るための単なるリテラルで、Z は「ゼロ時間オフセット」、別名「ズールー時間」(UTC) を意味します。文字列に常に「Z」が含まれる場合は、次を使用できます。

SimpleDateFormat format = new SimpleDateFormat(
    "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.US);
format.setTimeZone(TimeZone.getTimeZone("UTC"));

またはジョダタイム、使用することができますISODateTimeFormat.dateTime()

おすすめ記事