Menghuraikan Rentetan ISO 8601 tanpa Kolon dalam Offset ke Tarikh Java 8
Isu timbul apabila cuba menghuraikan rentetan berformat ISO 8601 dengan offset yang tidak mempunyai titik bertindih (cth., "2018-02-13T10:20:12.120 0000") menggunakan API tarikh-masa baharu dalam Java 8.
Penyelesaian
Sehingga pepijat dibetulkan (Java 8)
Gunakan penyelesaian:
<code class="java">String input = "2018-02-13T10:20:12.120+0000".replace( "+0000" , "+00:00" ); OffsetDateTime odt = OffsetDateTime.parse( input );</code>
<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:
Untuk menghuraikan tanpa penyelesaian:
<code class="java">OffsetDateTime odt = OffsetDateTime.parse( "2018-02-13T10:20:12.120+0000" );</code>
Nota Tambahan:
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Rentetan ISO 8601 dengan Kolon yang Hilang dalam Offset dalam Java 8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!