Exception "Impossible de formater un objet donné en tant que date" en Java : résolue
Lors de la tentative de formatage d'une chaîne représentant une date dans un format spécifique format, les développeurs peuvent rencontrer l'exception « Impossible de formater un objet donné en tant que date ». Cela se produit car l'instance DateFormat fournie est utilisée pour formater les valeurs Date, pas les chaînes.
Pour résoudre ce problème, utilisez deux objets SimpleDateFormat : un pour l'analyse (conversion de la chaîne en Date) et un pour le formatage (conversion de la Date en Date). chaîne). Voici un exemple :
<code class="java">import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class DateParser { public static void main(String[] args) throws Exception { // Define formats for input and output DateFormat outputFormat = new SimpleDateFormat("MM/yyyy", Locale.US); DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US); // Parse input string into a Date object String inputText = "2012-11-17T00:00:00.000-05:00"; Date date = inputFormat.parse(inputText); // Format the Date object using the desired format String outputText = outputFormat.format(date); System.out.println(outputText); // Output: 11/2012 } }</code>
Notez qu'il est conseillé de spécifier des paramètres régionaux lors de la création des instances SimpleDateFormat pour garantir une gestion correcte de la date et de l'heure en fonction des paramètres régionaux de l'utilisateur. De plus, envisagez d'utiliser la bibliothèque Joda Time pour des capacités avancées de manipulation de date et d'heure.
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!