Apabila menghuraikan rentetan tarikh menggunakan SimpleDateFormat dalam Android, ralat berikut berlaku:
java.text.ParseException: Unparseable date: "24 Oct 2016 7:31 pm" (at offset 3)
Untuk menyelesaikan ralat, adalah penting untuk menyatakan secara eksplisit tempat semasa menggunakan SimpleDateFormat. Ini memastikan bahawa format tarikh ditafsirkan dengan betul berdasarkan konvensyen setempat.
Selain itu, amat disyorkan untuk beralih kepada API tarikh dan masa Java 8 moden, yang menyediakan fungsi yang dipertingkatkan dan menghapuskan potensi isu dengan lapuk API seperti SimpleDateFormat.
Untuk format tarikh tersuai, DateTimeFormatter harus digunakan dan bukannya SimpleDateFormat. Ia menawarkan penghuraian tidak peka huruf besar dan kecil, menyokong berbilang tempat dan secara keseluruhannya lebih fleksibel.
import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { String strDateTime = "24 Oct 2016 7:31 pm"; DateTimeFormatter dtf = DateTimeFormatter.ofPattern("d MMM uuuu h:m a", Locale.ENGLISH); LocalDateTime ldt = LocalDateTime.parse(strDateTime, dtf); System.out.println(ldt); } }
Tempat lalai boleh menjadi masalah apabila menghuraikan tarikh, kerana ia berbeza-beza bergantung pada tetapan tempat sistem. Untuk mengelakkan isu ini, sentiasa nyatakan tempat yang dikehendaki secara eksplisit.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan java.text.ParseException Apabila Menghuraikan Tarikh dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!