Rumah >Java >javaTutorial >Mengapa SimpleDateFormat Gagal Menghuraikan \'YYYY-MM-dd HH:mm\' Walaupun `setLenient(false)`?

Mengapa SimpleDateFormat Gagal Menghuraikan \'YYYY-MM-dd HH:mm\' Walaupun `setLenient(false)`?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-03 06:51:30572semak imbas

Why Does SimpleDateFormat Fail to Parse

SimpleDateFormat Salah Penghuraian Tarikh "YYYY-MM-dd HH:mm"

S:

Menggunakan SimpleDateFormat, percubaan untuk menghuraikan rentetan dalam format "YYYY-MM-dd HH:mm" kepada Tarikh menghasilkan tarikh yang salah. Walaupun menetapkan setLenient(false), hasilnya masih tidak tepat. Apakah punca percanggahan ini?

J:

Isunya terletak pada rentetan format yang digunakan: "YYYY-MM-dd HH:mm". Rentetan format yang betul untuk menghuraikan rentetan dalam format yang diberikan hendaklah "yyyy-MM-dd HH:mm", dengan "yyyy" menandakan tahun dengan empat digit.

Dokumentasi untuk SimpleDateFormat menentukan bahawa " bahagian tarikh mestilah dalam salah satu format JDK yang dipratentukan, bahagian masa mestilah dalam salah satu format masa yang dipratentukan dan pemisah antara tarikh dan masa hanya boleh menjadi salah satu pemisah yang dipratentukan." Rujuk dokumentasi SimpleDateFormat untuk butiran lanjut.

<code class="java">SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.ENGLISH);</code>

Dengan mengubah suai rentetan format kepada "yyyy-MM-dd HH:mm", penghuraian harus menghasilkan tarikh dan masa yang betul.

Atas ialah kandungan terperinci Mengapa SimpleDateFormat Gagal Menghuraikan \'YYYY-MM-dd HH:mm\' Walaupun `setLenient(false)`?. 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