Apabila cuba menukar tarikh tertentu kepada format tertentu, pembangun Java mungkin menghadapi pengecualian: "java.lang.IllegalArgumentException: Tidak dapat memformat Objek yang diberikan sebagai Tarikh." Ralat ini berlaku apabila cuba memformat objek yang tidak disokong sebagai tarikh.
Untuk menyelesaikan isu ini, kita perlu menggunakan strategi pemformatan yang betul. Kaedah DateFormat.format menerima objek Tarikh sebagai input. Dalam contoh yang diberikan, nilai input ialah rentetan yang mewakili tarikh, bukan objek Tarikh.
Penyelesaiannya ialah menggunakan dua objek SimpleDateFormat yang berasingan: satu untuk menghuraikan rentetan input dan satu lagi untuk memformatkan hasil. Contohnya:
<code class="java">// Define the output format (mm/yyyy for months and years) DateFormat outputFormat = new SimpleDateFormat("mm/yyyy", Locale.US); // Define the input format (yyyy-MM-dd'T'HH:mm:ss.SSSX) DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US); String inputText = "2012-11-17T00:00:00.000-05:00"; try { // Parse the input string as a Date object Date date = inputFormat.parse(inputText); // Format the Date object using the desired format String outputText = outputFormat.format(date); } catch (ParseException e) { // Handle parsing exceptions here }</code>
Dengan mengikut pendekatan ini, kami boleh menukar rentetan yang mewakili tarikh ke format yang diingini dengan berkesan sambil mengelakkan ralat "Tidak boleh memformat Objek yang diberikan sebagai Tarikh".
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Ralat \"Tidak Dapat Memformat Objek Diberi sebagai Tarikh\" dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!