Rumah  >  Artikel  >  Java  >  Mengapakah Java SimpleDateFormat Mentafsir Bulan secara konsisten sebagai Januari dengan Tarikh AD?

Mengapakah Java SimpleDateFormat Mentafsir Bulan secara konsisten sebagai Januari dengan Tarikh AD?

Linda Hamilton
Linda Hamiltonasal
2024-10-24 07:58:02510semak imbas

Why is Java SimpleDateFormat Consistently Interpreting the Month as January with AD Dates?

Java SimpleDateFormat Sentiasa Mengira Bulan sebagai Januari

Apabila pembangun bekerja dengan nilai tarikh daripada pelbagai sumber, mereka mungkin menghadapi keadaan di mana kelas Java SimpleDateFormat salah mentafsir bahagian bulan pada tarikh tersebut. Isu ini boleh nyata apabila menukar tarikh daripada Active Directory (AD) kepada tarikh Java.

Coretan kod yang disediakan menggunakan SimpleDateFormat untuk menghuraikan nilai tarikh AD ke dalam objek Java Date:

<code class="java">SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/DD");</code>

Walau bagaimanapun, corak format tarikh yang disediakan ("yyyy/MM/DD") menggunakan huruf besar "M" untuk penetapan bulan. Ini bercanggah dengan huruf kecil "M" yang digunakan dalam nilai tarikh AD, mengakibatkan tafsiran bulan yang salah sebagai Januari untuk setiap tarikh yang dihuraikan.

Menangani Isu

Untuk menyelesaikan percanggahan ini, kod tersebut perlu menggunakan corak format yang betul untuk tarikh AD, yang menggunakan huruf kecil "m" untuk penetapan bulan. Selain itu, pemisah tarikh harus sejajar dengan piawaian AD. Oleh itu, corak format yang disemak hendaklah:

<code class="java">SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");</code>

Dengan pelarasan ini, SimpleDateFormat akan menghuraikan nilai tarikh AD dengan betul, menyelesaikan isu tersilap tersilap bulan sebagai Januari dan memastikan perubahan tarikh yang tepat.

Atas ialah kandungan terperinci Mengapakah Java SimpleDateFormat Mentafsir Bulan secara konsisten sebagai Januari dengan Tarikh AD?. 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