Rumah >Java >javaTutorial >Mengapa Menghuraikan Rentetan Tarikh dengan 'T' dalam Java Melemparkan Pengecualian 'Wokok Corak Haram 'T''?
Watak Corak Haram 'T' Apabila Menghuraikan Rentetan Tarikh ke java.util.Date
Apabila cuba menghuraikan rentetan tarikh kepada standard tarikh menggunakan Java Date API, anda mungkin menghadapi pengecualian dengan mesej berikut: "Watak corak tidak sah 'T'". Ralat ini timbul kerana corak yang ditentukan untuk penghuraian termasuk aksara "T", yang tidak dikenali sebagai aksara corak yang sah.
Punca:
"T" aksara dalam rentetan tarikh mewakili pemisah masa antara komponen tarikh dan masa. Walau bagaimanapun, corak SimpleDateFormat lalai tidak termasuk aksara ini. Akibatnya, penghurai mentafsirkannya sebagai watak corak haram.
Penyelesaian:
Untuk menyelesaikan isu ini, terdapat dua pendekatan utama:
1. Corak Tersuai:
Anda boleh menentukan corak tersuai yang menyertakan aksara "T" sebagai pemisah masa. Contohnya:
String pattern = "yyyy-MM-dd'T'HH:mm:ssZ";
2. Melarikan Petikan Tunggal:
Sebagai alternatif, anda boleh melarikan diri daripada aksara "T" menggunakan petikan tunggal. Dengan cara ini, ia akan dianggap sebagai watak literal dan bukannya watak corak.
String pattern = "yyyy-MM-dd'T'hh:mm:ssZ";
Nota Tambahan:
String input = "2010-10-02T12:23:23Z"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'"); LocalDateTime dateTime = LocalDateTime.parse(input, formatter);
Menggunakan salah satu kaedah ini seharusnya membolehkan anda berjaya menghuraikan rentetan tarikh dengan aksara "T" sebagai pemisah masa.
Atas ialah kandungan terperinci Mengapa Menghuraikan Rentetan Tarikh dengan 'T' dalam Java Melemparkan Pengecualian 'Wokok Corak Haram 'T''?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!