Rumah >Java >javaTutorial >Bagaimana untuk Mengendalikan 'Watak corak haram 'T'' Apabila Menghuraikan Tarikh di Jawa?
Menghuraikan Rentetan Tarikh dengan Aksara Haram
Apabila cuba menghuraikan rentetan tarikh dalam Java menggunakan SimpleDateFormat, anda mungkin menghadapi pengecualian "Corak tidak sah watak 'T'". Isu ini timbul apabila rentetan tarikh mengandungi aksara 'T', yang menetapkan komponen masa apabila mengikut piawaian ISO 8601.
Punca Pengecualian
Format Tarikh Mudah class mentafsir 'T' sebagai aksara khas yang memisahkan bahagian tarikh dan masa rentetan. Walau bagaimanapun, corak lalai tidak termasuk 'T' sebagai aksara, yang membawa kepada pengecualian.
Penyelesaian Kemungkinan
Terdapat beberapa cara untuk menangani isu ini:
Ubah suai Corak:
Gunakan DateTimeFormatter (Java 8 ):
Contoh:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ"); Date date = formatter.parse("2010-10-02T12:23:23Z", LocalDateTime::from);
Pemisahan Rentetan Manual:
Nota:
Jika rentetan tarikh mengandungi 'Z' mengekori untuk menandakan waktu UTC, pastikan bahawa 'XXX' bahagian corak disertakan.
Sampel Kod yang Diperbaiki (dengan escaped 'T'):
public static void main(String[] args) { String date = "2010-10-02T12:23:23Z"; String pattern = "yyyy-MM-dd'T'hh:mm:ssXXX"; SimpleDateFormat sdf = new SimpleDateFormat(pattern); try { Date d = sdf.parse(date); System.out.println(d.getYear()); } catch (ParseException e) { e.printStackTrace(); } }
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan 'Watak corak haram 'T'' Apabila Menghuraikan Tarikh di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!