Rumah >Java >javaTutorial >Mengapa Penghuraian SimpleDateFormat Saya Gagal Apabila Menggunakan 'mm' Daripada 'MM'?
Menghuraikan Rentetan Terformat Tarikh dengan SimpleDateFormat
Apabila menghuraikan rentetan tarikh menggunakan SimpleDateFormat, adalah penting untuk mematuhi corak tarikh dan masa yang betul. Perangkap biasa ialah penggunaan "mm" selama berbulan-bulan dan bukannya "MM".
Pertimbangkan kod berikut:
SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd'T'HH:mm:ss"); String str = "2010-06-13T00:00:00"; Date date = sf.parse(str); System.out.println(" Date " + date.toString());
Di sini, kami berhasrat untuk menghuraikan rentetan "2010-06 -13T00:00:00" pada 13 Jun 2010. Walau bagaimanapun, output menunjukkan "Rabu 13 Jan 00:00:00 EST 2010" sebaliknya. Ini berlaku kerana format tarikh yang dinyatakan dalam objek SimpleDateFormat menggunakan "mm" selama berbulan-bulan.
Untuk menyelesaikan isu ini, kita perlu menggantikan "mm" dengan "MM" untuk menunjukkan bulan. Kod yang diperbetulkan di bawah:
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); ...
Dengan pengubahsuaian ini, kod menghuraikan rentetan input dengan betul sebagai "Wed Jun 13 00:00:00 EST 2010". Ingat, huruf besar "MM" dalam corak SimpleDateFormat mewakili bulan, manakala "mm" mewakili minit.
Atas ialah kandungan terperinci Mengapa Penghuraian SimpleDateFormat Saya Gagal Apabila Menggunakan 'mm' Daripada 'MM'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!