Rumah >Java >javaTutorial >Mengapa Penghuraian SimpleDateFormat Saya Gagal Apabila Menggunakan 'mm' Daripada 'MM'?

Mengapa Penghuraian SimpleDateFormat Saya Gagal Apabila Menggunakan 'mm' Daripada 'MM'?

Patricia Arquette
Patricia Arquetteasal
2024-12-14 20:23:11334semak imbas

Why Does My SimpleDateFormat Parse Fail When Using

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!

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