Rumah > Java > javaTutorial > teks badan

Mengapa SimpleDateFormat Menetapkan Semua Tarikh kepada Januari Apabila Menghuraikan Tarikh Direktori Aktif?

DDD
Lepaskan: 2024-10-24 07:50:02
asal
398 orang telah melayarinya

Why is SimpleDateFormat Assigning All Dates to January When Parsing Active Directory Dates?

SimpleDateFormat Salah Memaparkan Bulan

Apabila bekerja dengan tarikh, adalah penting untuk data ditukar dengan tepat. Walau bagaimanapun, apabila menggunakan SimpleDateFormat Java untuk menghuraikan tarikh yang diekstrak daripada Active Directory (AD), isu boleh timbul apabila semua tarikh tidak ditetapkan pada Januari.

Masalahnya

Dalam coretan kod yang disediakan, SimpleDateFormat dimulakan dengan rentetan corak berikut:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/DD");
Salin selepas log masuk

Rentetan corak ini menentukan format jangkaan rentetan tarikh: tahun (yyyy), bulan (MM) dan hari ( DD). Walau bagaimanapun, nilai parsedDate secara konsisten menunjukkan bulan sebagai Januari, tanpa mengira bulan sebenar yang disertakan dalam tarikh AD.

Penyelesaian

Isunya terletak pada penggunaan huruf besar "MM" dalam rentetan corak. Dalam SimpleDateFormat, huruf besar "MM" mewakili bulan sebagai nama penuh, manakala huruf kecil "MM" mewakili bulan sebagai nombor dua digit.

Untuk membetulkan isu ini, rentetan corak hendaklah diubah suai untuk menggunakan huruf kecil "MM":

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
Salin selepas log masuk

Dengan menggunakan huruf kecil "MM", SimpleDateFormat akan menghuraikan bulan dengan betul sebagai nombor dua digit, menghapuskan isu Januari yang konsisten.

Atas ialah kandungan terperinci Mengapa SimpleDateFormat Menetapkan Semua Tarikh kepada Januari Apabila Menghuraikan Tarikh Direktori Aktif?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan