Pengecualian "Tidak boleh memformat Objek yang diberikan sebagai Tarikh" dalam Java: Diselesaikan
Apabila cuba memformat rentetan yang mewakili tarikh menjadi spesifik format, pembangun mungkin menghadapi pengecualian "Tidak boleh memformat Objek yang diberikan sebagai Tarikh". Ini berlaku kerana contoh DateFormat yang disediakan digunakan untuk memformat nilai Tarikh, bukan rentetan.
Untuk menangani isu ini, gunakan dua objek SimpleDateFormat: satu untuk menghurai (menukar rentetan kepada Tarikh) dan satu untuk memformat (menukar Tarikh kepada rentetan). Berikut ialah contoh:
<code class="java">import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class DateParser { public static void main(String[] args) throws Exception { // Define formats for input and output DateFormat outputFormat = new SimpleDateFormat("MM/yyyy", Locale.US); DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US); // Parse input string into a Date object String inputText = "2012-11-17T00:00:00.000-05:00"; Date date = inputFormat.parse(inputText); // Format the Date object using the desired format String outputText = outputFormat.format(date); System.out.println(outputText); // Output: 11/2012 } }</code>
Perhatikan bahawa anda dinasihatkan untuk menentukan tempat semasa membuat kejadian SimpleDateFormat untuk memastikan pengendalian tarikh dan masa yang betul berdasarkan tempat pengguna. Selain itu, pertimbangkan untuk menggunakan pustaka Joda Time untuk keupayaan manipulasi tarikh dan masa lanjutan.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Pengecualian \'Tidak dapat memformat Objek sebagai Tarikh\' dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!