Maison  >  Article  >  Java  >  Comment convertir une chaîne de date \"2012-11-17T00:00:00.000-05:00\" au format \"mm/aaaa\" en Java ?

Comment convertir une chaîne de date \"2012-11-17T00:00:00.000-05:00\" au format \"mm/aaaa\" en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-02 15:57:29610parcourir

How to Convert a Date String

Impossible de formater un objet en tant que date en Java

Question :

Comment une date au format "2012- 11-17T00:00:00.000-05:00" être converti en "mm/aaaa" en Java ?

Erreur rencontrée :

Lors de la tentative d'utilisation de DateFormat. format directement sur la représentation sous forme de chaîne de la date, une exception est levée :

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

Solution :

La clé est de reconnaître que DateFormat.format fonctionne spécifiquement avec Valeurs de date, pas de représentations sous forme de chaîne de dates. Par conséquent, l'approche en deux étapes suivante doit être utilisée :

  1. Analyser la chaîne d'entrée dans un objet Date :

    <code class="java">DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US);
    Date date = inputFormat.parse(inputText);</code>
  2. Formatez l'objet Date dans le format de sortie souhaité :

    <code class="java">DateFormat outputFormat = new SimpleDateFormat("MM/yyyy", Locale.US);
    String outputText = outputFormat.format(date);</code>

Exemple d'utilisation :

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

En suivant ces étapes, la chaîne de date peut être convertie au format « mm/aaaa » souhaité sans rencontrer l'exception Impossible de formater l'objet donné en tant que date.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn