Rumah >Java >javaTutorial >Bolehkah `java.time` Menghuraikan Nilai Pecahan-Kedua dalam Rentetan Tarikh?
Pakej Java.time Java 8 bergelut untuk menghuraikan input rentetan dengan komponen pecahan saat apabila menggunakan kelas DateTimeFormatter. Percubaan untuk menghuraikan rentetan seperti "2011120312345655" menggunakan corak format "yyyyMMddHHmmssSS" menghasilkan DateTimeParseException, walaupun dokumentasi menunjukkan bahawa "SS" seharusnya mewakili nilai pecahan saat.
Sebelum Java 9, penyelesaian telah dicadangkan:
<code class="java">DateTimeFormatter dtf = new DateTimeFormatterBuilder() .appendPattern("yyyyMMddHHmmss") .appendValue(ChronoField.MILLI_OF_SECOND, 3) .toFormatter();</code>
Walau bagaimanapun, penyelesaian ini tidak menangani sepenuhnya isu ini, kerana ia tidak dapat mengendalikan kes penggunaan hanya dua simbol corak, "SS". Penyelesaian alternatif menggunakan medan lain atau pustaka luaran turut dicadangkan.
Isu JDK yang dikaitkan dengan masalah ini telah ditandakan sebagai diselesaikan untuk Java 9. Ini menunjukkan bahawa keupayaan pakej java.time untuk menghuraikan nilai pecahan saat telah dipertingkatkan dalam versi ini.
Atas ialah kandungan terperinci Bolehkah `java.time` Menghuraikan Nilai Pecahan-Kedua dalam Rentetan Tarikh?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!