Lors de la tentative de conversion d'une date donnée dans un format spécifique, les développeurs Java peuvent rencontrer l'exception : "java.lang.IllegalArgumentException : impossible de formater l'objet donné en tant que date." Cette erreur se produit lorsque vous essayez de formater un objet non pris en charge en tant que date.
Pour résoudre ce problème, nous devons utiliser la stratégie de formatage appropriée. La méthode DateFormat.format accepte les objets Date en entrée. Dans l'exemple fourni, la valeur d'entrée est une chaîne représentant une date, pas un objet Date.
La solution consiste à utiliser deux objets SimpleDateFormat distincts : un pour analyser la chaîne d'entrée et un autre pour formater le résultat. Par exemple :
// Define the output format (mm/yyyy for months and years)
DateFormat outputFormat = new SimpleDateFormat("mm/yyyy", Locale.US);
// Define the input format (yyyy-MM-dd'T'HH:mm:ss.SSSX)
DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US);
String inputText = "2012-11-17T00:00:00.000-05:00";
try {
// Parse the input string as a Date object
Date date = inputFormat.parse(inputText);
// Format the Date object using the desired format
String outputText = outputFormat.format(date);
} catch (ParseException e) {
// Handle parsing exceptions here
}
En suivant cette approche, nous pouvons convertir efficacement une chaîne représentant une date dans un format souhaité tout en évitant l'erreur « Impossible de formater un objet donné en tant que date ».
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