私は日付文字列 "2015-01-12T13:00:00.000 + 02:00"を持っています。java 8 DateTimeFormatterはzとZが切り替わりますか?
z time-zone name zone-name Pacific Standard Time; PST
Z zone-offset offset-Z +0000; -0800; -08:00;
だから、私は02で与えられたゾーンの形式を持っているので、私は大文字のZを使用する必要があり、それを解析することが疑われるでしょう::00
DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.000Z")
私は以下を参照してくださいのJavaDocを見てみると
しかし、それは私が解析エラーを取得します。 私は小文字zを使用している場合、それは誰もが何が起こっているか知ってい
DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.000z")
に動作しますか?
CODE:
DateTimeFormatter changetimeParser_Z = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.000Z");
DateTimeFormatter changetimeParser_z = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.000z");
String time = "2015-01-12T13:00:00.000+02:00";
ZonedDateTime time1 = ZonedDateTime.parse(time, changetimeParser_z);
System.out.println(time1);
ZonedDateTime time2 = ZonedDateTime.parse(time, changetimeParser_Z);
System.out.println(time2);
のStackTrace
2015-01-12T13:00+02:00
java.time.format.DateTimeParseException: Text '2015-01-12T13:00:00.000+02:00' could not be parsed at index 23
at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
at java.time.ZonedDateTime.parse(ZonedDateTime.java:597)
入力とは何ですか?コードは何ですか?完全なエラースタックトレースは何ですか? –
コメントには投稿しないでください。あなたの質問を編集してください。 –
'Z'の代わりに' X'を試してください – ACV