Rumah >Java >javaTutorial >Mengapa Java SimpleDateFormat Saya Menghuraikan 'mm' sebagai Minit Daripada Bulan, dan Bagaimana Saya Boleh Membetulkannya?
Kekaburan Penghuraian SimpleDateFormat Selesai
Kelas SimpleDateFormat digunakan untuk menghuraikan tarikh dalam Java. Walau bagaimanapun, ralat sekali-sekala boleh timbul kerana peraturan penghuraian yang ketat. Satu isu biasa ialah salah tafsir spesifikasi bulan dan minit.
Dalam kes baru-baru ini, pembangun menghadapi isu di mana kod:
SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd'T'HH:mm:ss"); String str = "2010-06-13T00:00:00"; Date date = sf.parse(str);
menghuraikan tarikh sebagai "Rabu 13 Jan 00 :00:00 EST 2010" dan bukannya yang dijangkakan "Rabu Jun 13 00:00:00 EST 2010."
Penyelesaian
Isunya terletak pada rentetan format tarikh. Dalam format yang disediakan, "mm" mewakili minit, manakala "MM" mewakili bulan. Untuk membetulkannya, pembangun hanya perlu menukar rentetan format kepada:
"yyyy-MM-dd'T'HH:mm:ss"
Ini memastikan bahawa "MM" digunakan untuk bulan dan kod itu kini akan menghuraikan tarikh dengan betul sebagai "Rabu Jun 13 00 :00:00 EST 2010."
Adalah penting untuk memberi perhatian kepada penentu format terperinci yang disediakan dalam dokumentasi SimpleDateFormat untuk elakkan ralat penghuraian sedemikian.
Atas ialah kandungan terperinci Mengapa Java SimpleDateFormat Saya Menghuraikan 'mm' sebagai Minit Daripada Bulan, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!