Maison > Java > javaDidacticiel > le corps du texte

Comment gérer l'exception « Impossible de formater l'objet en tant que date » en Java ?

Susan Sarandon
Libérer: 2024-10-30 19:46:30
original
912 Les gens l'ont consulté

How to Handle

Impossible de formater un objet en tant que date en Java

En Java, lorsque vous essayez de formater un objet donné en tant que date à l'aide de la méthode DateFormat.format , vous pouvez rencontrer l'exception suivante :

java.lang.IllegalArgumentException: Cannot format given Object as a Date
Copier après la connexion

Cette erreur se produit lorsque l'objet que vous tentez de formater n'est pas une instance de Date. Dans votre cas, vous essayez de formater une chaîne ("2012-11-17T00:00:00.000-05:00") en tant que date à l'aide d'une instance SimpleDateFormat configurée avec le modèle "mm/aaaa".

Solution

Pour résoudre ce problème, vous devez utiliser deux objets SimpleDateFormat : un pour analyser la chaîne d'entrée dans une instance de Date et un autre pour formater la date résultante dans le format souhaité :

<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>
Copier après la connexion

Cette approche sépare les opérations d'analyse et de formatage, garantissant que l'entrée est correctement convertie en une instance de Date avant de tenter de la formater à l'aide du modèle spécifié.

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