Menghuraikan Rentetan ISO 8601 dengan Titik Titik Hilang dalam Offset ke Tarikh Java 8
Masalah:
Kaedah ZonedDateTime.parse() Java 8 gagal menghuraikan rentetan tarikh dalam format ISO 8601 yang tidak mempunyai titik bertindih dalam offset, seperti "2018-02-13T10:20:12.120 0000."
Penyelesaian:
Sehingga pepijat dibetulkan (Java 8 hingga 121):
Gunakan DateTimeFormatter dengan corak tersuai untuk menentukan kolon yang hilang dalam offset:
<code class="java">String input = "2018-02-13T10:20:12.120+0000"; DateTimeFormatter f = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss.SSSX"); OffsetDateTime odt = OffsetDateTime.parse(input, f);</code>
Apabila pepijat dibetulkan:
Cuma panggil OffsetDateTime.parse() dengan rentetan ISO 8601 tanpa corak:
<code class="java">OffsetDateTime odt = OffsetDateTime.parse("2018-02-13T10:20:12.120+0000");</code>
Butiran:
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Rentetan ISO 8601 dengan Kolon yang Hilang dalam Offset ke Tarikh Java 8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!