Heim  >  Artikel  >  Java  >  Wie gehe ich mit der Ausnahme „Objekt kann nicht als Datum formatiert werden' in Java um?

Wie gehe ich mit der Ausnahme „Objekt kann nicht als Datum formatiert werden' in Java um?

Susan Sarandon
Susan SarandonOriginal
2024-10-30 19:46:30907Durchsuche

How to Handle

Objekt kann in Java nicht als Datum formatiert werden

In Java, wenn versucht wird, ein bestimmtes Objekt mit der Methode DateFormat.format als Datum zu formatieren , kann die folgende Ausnahme auftreten:

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

Dieser Fehler tritt auf, wenn das Objekt, das Sie formatieren möchten, keine Date-Instanz ist. In Ihrem Fall versuchen Sie, eine Zeichenfolge („2012-11-17T00:00:00.000-05:00“) als Datum zu formatieren, indem Sie eine SimpleDateFormat-Instanz verwenden, die mit dem Muster „mm/yyyy“ konfiguriert ist.

Lösung

Um dieses Problem zu beheben, sollten Sie zwei SimpleDateFormat-Objekte verwenden: eines zum Parsen der Eingabezeichenfolge in eine Date-Instanz und eines zum Formatieren des resultierenden Datums in das gewünschte Format:

<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>

Dieser Ansatz trennt die Analyse- und Formatierungsvorgänge und stellt sicher, dass die Eingabe ordnungsgemäß in eine Datumsinstanz konvertiert wird, bevor versucht wird, sie mit dem angegebenen Muster zu formatieren.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit der Ausnahme „Objekt kann nicht als Datum formatiert werden' in Java um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn