Maison  >  Article  >  Java  >  Comment analyser une chaîne de date dans un objet DateTime avec Joda Time et éviter l'erreur « Format invalide » ?

Comment analyser une chaîne de date dans un objet DateTime avec Joda Time et éviter l'erreur « Format invalide » ?

DDD
DDDoriginal
2024-11-01 09:37:02487parcourir

How to Parse a Date String into a DateTime Object with Joda Time and Avoid the

Analyse d'une chaîne de date en un objet DateTime avec Joda Time

Lorsque vous travaillez avec des données de date et d'heure, il est souvent nécessaire de convertir une date stocké sous forme de chaîne dans un objet structuré pour un traitement ultérieur. La bibliothèque Joda Time fournit un ensemble complet d'outils pour gérer les opérations de date et d'heure en Java.

Une tâche courante consiste à convertir une chaîne de date en un objet DateTime. Cependant, les utilisateurs peuvent rencontrer une erreur si la chaîne n'est pas au format attendu. Abordons ce problème avec un exemple précis.

Erreur : "Format invalide"

Considérez le code suivant :

<code class="java">DateTime dt = new DateTime("04/02/2011 20:27:05");</code>

Ce code vise pour créer un objet DateTime à partir d'une chaîne. Cependant, il échoue avec l'erreur : "Format invalide : "04/02/2011 14:42:17" est mal formé à "/02/2011 14:42:17"".

Solution : Utilisation de DateTimeFormat

Pour résoudre le problème, nous devons spécifier le format attendu de la chaîne de date. Joda Time fournit une classe DateTimeFormatter à cet effet. Voici le code corrigé :

<code class="java">DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy HH:mm:ss");
DateTime dt = formatter.parseDateTime("04/02/2011 20:27:05");</code>

En définissant la chaîne de format, nous indiquons à Joda Time comment interpréter les composants de date dans la chaîne d'entrée. Dans cet exemple, le modèle de format indique que la chaîne doit être analysée comme jour (jj), mois (MM), année (aaaa), heure (HH), minutes (mm) et secondes (ss).

Une fois le formateur défini, nous pouvons l'utiliser pour analyser la chaîne et créer un objet DateTime. L'objet dt résultant aura les composants de date et d'heure spécifiés.

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