Rumah > Java > javaTutorial > Bagaimana untuk Menghuraikan Rentetan ISO 8601 dengan Kolon yang Hilang dalam Offset dalam Java 8?

Bagaimana untuk Menghuraikan Rentetan ISO 8601 dengan Kolon yang Hilang dalam Offset dalam Java 8?

Susan Sarandon
Lepaskan: 2024-11-03 08:19:02
asal
584 orang telah melayarinya

How to Parse ISO 8601 String with Missing Colon in Offset in Java 8?

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:

  • Hack: Masukkan titik bertindih dalam rentetan input:
<code class="java">String input = "2018-02-13T10:20:12.120+0000".replace( "+0000" , "+00:00" );
OffsetDateTime odt = OffsetDateTime.parse( input );</code>
Salin selepas log masuk
  • Corak pemformatan eksplisit:
<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>
Salin selepas log masuk

Apabila pepijat dibetulkan:

Untuk menghuraikan tanpa penyelesaian:

<code class="java">OffsetDateTime odt = OffsetDateTime.parse( "2018-02-13T10:20:12.120+0000" );</code>
Salin selepas log masuk

Nota Tambahan:

  • Elakkan kelas tarikh-masa lama seperti java.util.Date dan SimpleDateFormat.
  • Gunakan OffsetDateTime untuk offset dan Instant untuk Nilai UTC.
  • Untuk penukaran zon waktu, gunakan ZonedDateTime.
  • Semak Stack Overflow untuk mendapatkan contoh dan maklumat 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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan