Rumah >Java >javaTutorial >Mengapakah Java SimpleDateFormat Saya Membuang Pengecualian 'Tarikh Tidak Dapat Dijelaskan'?
Pengecualian Penghuraian Tarikh Java: "Tarikh Tidak Boleh Dihuraikan"
Apabila cuba menghuraikan tarikh menggunakan SimpleDateFormat, anda mungkin menghadapi "Tarikh yang tidak boleh dihuraikan" pengecualian. Ralat ini berlaku apabila rentetan tarikh yang diberikan tidak sepadan dengan format tarikh yang ditentukan.
Dalam keadaan tertentu ini, kod yang diberikan cuba menghuraikan tarikh "Rabu, 09 Feb 2011 12:34:27" menggunakan format "EEE, dd MMM yyyy HH:mm:ss". Selepas pelaksanaan, pengecualian dilemparkan, menunjukkan bahawa tarikh tidak boleh dihuraikan.
Punca isu ini terletak pada tempat yang digunakan untuk menghurai. Secara lalai, Java menggunakan tempat sistem, yang mungkin berbeza daripada tempat tempatan bahasa Inggeris yang dijangkakan. Akibatnya, corak yang digunakan dalam SimpleDateFormat mungkin tidak sepadan dengan peraturan pemformatan tarikh untuk tempat semasa.
Untuk menyelesaikan isu ini, adalah disyorkan untuk menentukan tempattempat secara eksplisit semasa membuat tika SimpleDateFormat. Ini memastikan bahawa peraturan pemformatan yang betul digunakan:
import java.util.Date; import java.text.SimpleDateFormat; import java.util.Locale; ... SimpleDateFormat FORMATTER = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss", Locale.ENGLISH);
Dengan menentukan Locale.ENGLISH, pemformat menggunakan konvensyen pemformatan bahasa Inggeris, yang sepadan dengan format rentetan tarikh input. Ini membolehkan tarikh berjaya dihuraikan tanpa menemui pengecualian "Tarikh tidak boleh dihuraikan".
Atas ialah kandungan terperinci Mengapakah Java SimpleDateFormat Saya Membuang Pengecualian 'Tarikh Tidak Dapat Dijelaskan'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!