Lorsqu'ils tentent de convertir une date donnée dans un format spécifique, les développeurs Java peuvent rencontrer l'exception : "java.lang.IllegalArgumentException : impossible de formater un 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 correcte. 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 :
<code class="java">// 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 }</code>
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 ».
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!