Rumah  >  Artikel  >  Java  >  Bagaimana Mengendalikan Pengecualian \"Tidak Dapat Memformat Objek sebagai Tarikh\" dalam Java?

Bagaimana Mengendalikan Pengecualian \"Tidak Dapat Memformat Objek sebagai Tarikh\" dalam Java?

Susan Sarandon
Susan Sarandonasal
2024-10-30 19:46:30820semak imbas

How to Handle

Tidak Dapat Memformat Objek sebagai Tarikh dalam Java

Dalam Java, apabila cuba memformat objek yang diberikan sebagai tarikh menggunakan kaedah DateFormat.format , anda mungkin menghadapi pengecualian berikut:

java.lang.IllegalArgumentException: Cannot format given Object as a Date

Ralat ini berlaku apabila objek yang anda cuba formatkan bukan contoh Tarikh. Dalam kes anda, anda cuba memformat rentetan ("2012-11-17T00:00:00.000-05:00") sebagai tarikh menggunakan contoh SimpleDateFormat yang dikonfigurasikan dengan corak "mm/yyyy".

Penyelesaian

Untuk menangani isu ini, anda harus menggunakan dua objek SimpleDateFormat: satu untuk menghuraikan rentetan input ke dalam contoh Tarikh dan satu lagi untuk memformat Tarikh yang terhasil ke dalam format yang dikehendaki:

<code class="java">import java.text.SimpleDateFormat;
import java.util.Date;

public class DateParser {

    public static void main(String args[]) {
        String monthYear = null;

        // Create input format to parse from "yyy-MM-dd'T'HH:mm:ss.SSSX"
        SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");

        // Create output format to format to "MM/yyyy"
        SimpleDateFormat outputFormat = new SimpleDateFormat("MM/yyyy");

        String inputText = "2012-11-17T00:00:00.000-05:00";

        try {
            // Parse the input string into a Date object
            Date date = inputFormat.parse(inputText);

            // Format the parsed Date into the desired format
            monthYear = outputFormat.format(date);

            System.out.println(monthYear);
        } catch (ParseException e) {
            System.err.println("Input string is not a valid date: " + e.getMessage());
        }
    }
}</code>

Pendekatan ini memisahkan operasi penghuraian dan pemformatan, memastikan bahawa input ditukar dengan betul kepada contoh Tarikh sebelum cuba memformatnya menggunakan corak yang ditentukan.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Pengecualian \"Tidak Dapat Memformat Objek sebagai Tarikh\" dalam Java?. 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