Rumah >Java >javaTutorial >Mengapa Menghuraikan '2010-10-02T12:23:23Z' Membuang 'Aksara corak tidak sah 'T'' dalam API Tarikh Java?

Mengapa Menghuraikan '2010-10-02T12:23:23Z' Membuang 'Aksara corak tidak sah 'T'' dalam API Tarikh Java?

Linda Hamilton
Linda Hamiltonasal
2024-12-08 20:58:18624semak imbas

Why Does Parsing

Watak Corak Haram 'T' semasa Menghuraikan Rentetan Tarikh ke java.util.Date

Soalan:

Apabila cuba menghuraikan rentetan tarikh seperti "2010-10-02T12:23:23Z" menggunakan Java Date API, pengecualian dilemparkan: "java.lang.IllegalArgumentException: Aksara corak haram 'T'". Mengapa ini berlaku, dan adakah perlu untuk membahagi dan menghuraikan rentetan secara manual?

Jawapan:

Watak 'T' dalam rentetan, yang mewakili masa pemisah, adalah punca isu. Untuk menyelesaikannya, adalah perlu untuk melepaskan watak 'T' dengan petikan tunggal ('') dalam rentetan corak. Corak yang betul hendaklah "yyyy-MM-dd'T'hh:mm:ssZ".

Contoh:

String date = "2010-10-02T12:23:23Z";
String pattern = "yyyy-MM-dd'T'hh:mm:ssZ";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
try {
    Date d = sdf.parse(date);
    System.out.println(d.getYear());
} catch (ParseException e) {
    e.printStackTrace();
}

Sebagai alternatif, untuk Java 8 dan lebih tinggi, adalah disyorkan untuk gunakan Instant.parse sebaliknya, yang menyediakan pendekatan yang lebih mantap dan moden untuk menghuraikan tarikh.

Instant.parse("2015-04-28T14:23:38.521Z")

Atas ialah kandungan terperinci Mengapa Menghuraikan '2010-10-02T12:23:23Z' Membuang 'Aksara corak tidak sah 'T'' dalam API Tarikh Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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