Formater une date
Nikko
-
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis en train de développer une application java. Dans cette application, je dois comparer des dates. J'utilise java.util.date.
Je créé donc une date (qui sera celle du jour) comme suit : Date datedujour = new Date();
Cette date est sous la forme Sat Mar 01 00:00:00 CET 2008. La date à laquelle je veux comparer la datedujour avec une date du format 2008-03-19. Or, cette comparaison est impossible au vu des 2 formats de date différents que j'ai. L'idéal serait d'avoir 2 dates du type 2008-03-19.
Ma question est alors : comment convertir la datedujour en 2008-03-19 ?
Par avance merci,
Nikko
Je suis en train de développer une application java. Dans cette application, je dois comparer des dates. J'utilise java.util.date.
Je créé donc une date (qui sera celle du jour) comme suit : Date datedujour = new Date();
Cette date est sous la forme Sat Mar 01 00:00:00 CET 2008. La date à laquelle je veux comparer la datedujour avec une date du format 2008-03-19. Or, cette comparaison est impossible au vu des 2 formats de date différents que j'ai. L'idéal serait d'avoir 2 dates du type 2008-03-19.
Ma question est alors : comment convertir la datedujour en 2008-03-19 ?
Par avance merci,
Nikko
A voir également:
- Formater une date
- Formater clé usb - Guide
- Formater son pc - Guide
- Formater un pc bloqué par administrateur - Guide
- Airpods 3 date de sortie - Guide
- Formater clé usb non reconnue - Guide
3 réponses
Bonjour,
Pour formater ta date, il faut que tu créé un "squellette", puis que tu format ta date avec ce dernier :
Pour formater ta date, il faut que tu créé un "squellette", puis que tu format ta date avec ce dernier :
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); sdf.setLenient(true); Date d = new Date(); try { d = sdf.parse(theDate); } catch (Exception e) { System.out.println("Malformed date : "); }
Salut kij_82,
Tout d'abord je te remercie de ta réponse.
Dans le code que tu as fourni, à la ligne "d = sdf.parse(theDate);" la variable theDate est de type String ? Elle est censée avoir quelle valeur ? Car je ne souhaite pas lui attribuer manuellement la date du jour. Il faut que j'automatise au maximum mon programme.
Je te remercie d'avance,
Nikko
Tout d'abord je te remercie de ta réponse.
Dans le code que tu as fourni, à la ligne "d = sdf.parse(theDate);" la variable theDate est de type String ? Elle est censée avoir quelle valeur ? Car je ne souhaite pas lui attribuer manuellement la date du jour. Il faut que j'automatise au maximum mon programme.
Je te remercie d'avance,
Nikko
J'ai essayé ton code en passant "theDate" en String et avec valeur "2008-03-20" et j'ai rajouté un System.out.println(d) à la fin et le reste que je récupère est le suivant : Thu Mar 20 00:00:00 CET 2008. Ce résultat est donc différent de celui là : 2008-03-20... Je n'arrive pas à trouver la méthode qui me donne le dernier résultat...
Autant pour moi désolé j'aicopier / coller sans trop faire gaffe un code qui n'était pas fonctionnel
Voici la bonne version :)
Voici la bonne version :)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); sdf.setLenient(true); Date d = new Date(); System.out.println("Date before : "+d.toString()); try { String myDate = sdf.format(d); System.out.println("Date after : "+myDate); } catch (Exception e) { System.out.println("Malformed date : "+e.getMessage()); }