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!