です。ZonedDateTimeが正常に解析しますが、出力文字列は、私が解析し、時間帯に応じて現在の時間を取得するために<code>ZonedDateTime</code>を使用しています
次のように解析すると、解析は成功しますが、出力はString
とは異なります。何故ですか?
String dateTimeString = "2016-05-04T12:58:22+01:00[Europe/Paris]";
ZonedDateTime dateTime = ZonedDateTime.parse(dateTimeString, ISO_ZONED_DATE_TIME);
System.out.println(dateTimeString);
System.out.println(dateTime.toString());
それは+2
に+1
を変更することを決定したと、なぜ例外がスローされませんでしたか?どの時点での出力
2016-05-04T12:58:22+01:00[Europe/Paris]
2016-05-04T12:58:22+02:00[Europe/Paris]
私はParentheseの[Europe/Paris]
におけるパラメータはオプションであることを理解しますが、ここでは、オフセットよりも優先されます。
一方、次のコード
String dateTimeString = "2016-05-04T12:58:22+01:00";
ZonedDateTime dateTime = ZonedDateTime.parse(dateTimeString, ISO_ZONED_DATE_TIME);
System.out.println(dateTimeString);
System.out.println(dateTime.toString());
は、問題は、我々はCEST(中央ヨーロッパ夏時間、夏時間を持っているよう2016-05-04T12:58:22+01:00[Europe/Paris]
は、正しい時間ではないこと、である出力
2016-05-04T12:58:22+01:00
2016-05-04T12:58:22+01:00
ご回答ありがとうございます。私はそれが間違った日付であることを理解しています、なぜそれは正常に解析されますか?それは設計上の欠陥です。 – Olayinka
私は、仕様で定義された優先順位がありますよね。しかし、私はそれを確認しなかった。 – spa