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 spécifique.
Erreur : "Format invalide"
Considérez le code suivant :
DateTime dt = new DateTime("04/02/2011 20:27:05");
Ce code a pour but de créer un objet DateTime à partir d'une chaîne. Cependant, il échoue avec l'erreur « Format invalide : « 04/02/2011 14:42:17 » 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é :
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy HH:mm:ss");
DateTime dt = formatter.parseDateTime("04/02/2011 20:27:05");
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.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3