je la chaîne suivante:Format date en Java
Mon Sep 14 15:24:40 UTC 2009
je dois formater dans une chaîne comme ceci:
14/9/2009
Comment puis-je le faire en Java?
je la chaîne suivante:Format date en Java
Mon Sep 14 15:24:40 UTC 2009
je dois formater dans une chaîne comme ceci:
14/9/2009
Comment puis-je le faire en Java?
Utilisez SimpleDateFormat
(cliquez sur le lien javadoc pour voir les modèles) pour analyser la chaîne dans un modèle à un Date
fullworthy et utiliser un autre pour formater la analysable Date
à une chaîne dans un autre motif.
String string1 = "Mon Sep 14 15:24:40 UTC 2009";
Date date = new SimpleDateFormat("EEE MMM d HH:mm:ss Z yyyy").parse(string1);
String string2 = new SimpleDateFormat("d/M/yyyy").format(date);
System.out.println(string2); // 14/9/2009
Vous pouvez utiliser la classe SimpleDateFormat pour convertir la chaîne que vous avez en objet de date. Le format de date peut être donné dans le constructeur. La méthode de format convertit la chaîne en un objet date. Après avoir obtenu l'objet date, vous pouvez le formater comme vous le souhaitez.
Date d = new Date("Mon Sep 14 15:24:40 UTC 2009");
SimpleDateFormat f = new SimpleDateFormat("dd/M/yyyy");
String s = new String(f.format(d));
Un revêtement de java 8 et supérieur.
String localDateTime= LocalDateTime.parse("Mon Sep 14 15:24:40 UTC 2009", DateTimeFormatter.ofPattern("EE MMM dd HH:mm:ss z yyyy")).format(DateTimeFormatter.ofPattern("d/M/yyyy"));
J'ai essayé: SimpleDateFormat sdfIn = new SimpleDateFormat ("Mon Sep 14 15:24:40 UTC 2009"); mais ça n'a pas marché! J'ai obtenu: Exception dans le fil "principal" java.lang.IllegalArgumentException: Caractère de motif illégal 'o' – Dejell
Vous devez utiliser les modèles présentés dans le tableau de cette page: http://download.oracle.com/javase/1.4. 2/docs/api/java/text/SimpleDateFormat.html – Khaled