Maison > Java > javaDidacticiel > Pourquoi DateFormat lève-t-il une exception « Impossible de formater l'objet donné en tant que date » ?

Pourquoi DateFormat lève-t-il une exception « Impossible de formater l'objet donné en tant que date » ?

Linda Hamilton
Libérer: 2024-11-03 07:14:03
original
382 Les gens l'ont consulté

Why Does DateFormat Throw a

DateFormat ne peut pas formater les objets chaîne

En Java, la classe DateFormat est conçue spécifiquement pour formater et analyser les objets Date, pas les chaînes. Le code fourni illustre une erreur courante dans laquelle une représentation sous forme de chaîne d'une date ("2012-11-17T00:00:00.000-05:00") est directement transmise à la méthode DateFormat.format(). Cela entraîne l'exception « Impossible de formater un objet donné en tant que date ».

Approche à deux objets SimpleDateFormat

Pour résoudre ce problème, il est nécessaire d'utiliser deux objets SimpleDateFormat : un pour analyser la chaîne dans un objet Date et un autre pour formater l'objet Date au format souhaité. Le code révisé suivant résout le problème :

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

public class DateParser {    
  public static void main(String args[]) {   
    String MonthYear = null;    
    String dateformat = "2012-11-17T00:00:00.000-05:00";

    SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US);
    SimpleDateFormat outputFormat = new SimpleDateFormat("MM/yyyy", Locale.US);

    try {
      Date date = inputFormat.parse(dateformat);
      MonthYear = outputFormat.format(date);    
      System.out.println(MonthYear);    
    } catch (ParseException e) {
      System.err.println("Invalid date format.");
    }
  }    
}</code>
Copier après la connexion

Dans ce code :

  • inputFormat est utilisé pour analyser la chaîne d'entrée dans un objet Date.
  • outputFormat est ensuite utilisé pour formater l'objet Date au format "mm/aaaa" souhaité.
  • Le code gère les exceptions ParseException potentielles lors de l'analyse de la chaîne d'entrée.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal