Rumah >Java >javaTutorial >Mengapa SimpleDateFormat Gagal Menghuraikan \'YYYY-MM-dd HH:mm\' Walaupun `setLenient(false)`?
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!