Heim >Java >javaLernprogramm >Wie konvertiere ich eine Datumszeichenfolge „2012-11-17T00:00:00.000-05:00' in das Format „mm/jjjj' in Java?
Frage:
Wie kann ein Datum im Format „2012- 11-17T00:00:00.000-05:00“ in „mm/yyyy“ in Java konvertiert werden?
Fehler aufgetreten:
Beim Versuch, DateFormat zu verwenden. direkt auf die Zeichenfolgendarstellung des Datums formatieren, wird eine Ausnahme ausgelöst:
java.lang.IllegalArgumentException: Cannot format given Object as a Date
Lösung:
Der Schlüssel besteht darin, zu erkennen, dass DateFormat.format speziell mit funktioniert Datumswerte, keine Zeichenfolgendarstellungen von Datumsangaben. Daher sollte der folgende zweistufige Ansatz verwendet werden:
Parsen Sie die Eingabezeichenfolge in ein Datumsobjekt:
<code class="java">DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US); Date date = inputFormat.parse(inputText);</code>
Formatieren Sie das Datumsobjekt in das gewünschte Ausgabeformat:
<code class="java">DateFormat outputFormat = new SimpleDateFormat("MM/yyyy", Locale.US); String outputText = outputFormat.format(date);</code>
Beispielverwendung:
<code class="java">String inputText = "2012-11-17T00:00:00.000-05:00"; String outputText = new SimpleDateFormat("MM/yyyy", Locale.US).format(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US).parse(inputText));</code>
Durch Befolgen dieser Schritte kann die Datumszeichenfolge in das gewünschte Format „mm/jjjj“ konvertiert werden, ohne dass die Ausnahme „Objekt kann nicht als Datum formatiert werden“ auftritt.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine Datumszeichenfolge „2012-11-17T00:00:00.000-05:00' in das Format „mm/jjjj' in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!