質問: この日付フォーマットは何ですか? 2011-08-12t20:17:46.384z 私の日付は2011-08-12t20:17:46.384zです。これはどんなフォーマットですか?私はdateformat.getdateinstance().parse(datestr)経由でjava 1.4でそれを解析しようとしています java.text.parseexception:解析不可能な日付: "2011-08-12t20:17:46.384z" 構文解析には simpledateformat を使うべきだと思いますが、最初にフォーマット文字列を知る必要があります。この文字列でtが何を意味するのか分からないので、これまでに私が持ってきたのはyyyy-mm-ddだけです。この日付ストリングは、 ファイルcmisダウンロード履歴メディア・タイプ に示されているlcmis:downloadedonタグから来ています。
回答: tは、日付と時刻を区別するための単なるリテラルです。zは、「zulu time」(utc)とも呼ばれる「ゼロ時オフセット」を意味します。文字列に常に "z"がある場合は、次のように使用できます。simpledateformat format = new simpledateformat( "yyyy-mm-dd't'hh:mm:ss.sss'z'", locale.us); format.settimezone(timezone.gettimezone("utc")); または joda time を使用して、 isodatetimeformat.datetime() を使用することもできます。