85 votes

Quelle est la bonne façon de créer une date en Java?

Je suis dérouté par l'API Java pour la classe Date. Tout semble être déconseillé et des liens vers la classe Calendar. J'ai donc commencé à utiliser les objets Calendrier pour faire ce que j'aurais aimé faire avec une date, mais intuitivement, cela me gêne d'utiliser un objet Calendrier alors que tout ce que je veux faire, c'est créer et comparer deux dates.

Y a-t-il un moyen simple de faire ça? Pour l'instant je fais

 Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(0);
cal.set(year, month, day, hour, minute, second);
Date date = cal.getTime(); // get back a Date object
 

104voto

Maxx Points 538

Vous pouvez utiliser SimpleDateFormat

 SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date d = sdf.parse("21/12/2012");
 

Mais je ne sais pas si cela devrait être considéré plus juste que d'utiliser Calendar ...

35voto

Chris Knight Points 7946

L'excellente bibliothèque joda-time est presque toujours un meilleur choix que les classes Date ou Calendar de Java. Voici quelques exemples:

 DateTime aDate = new DateTime(year, month, day, hour, minute, second);
DateTime anotherDate = new DateTime(anotherYear, anotherMonth, anotherDay, ...);
if (aDate.isAfter(anotherDate)) {...}
DateTime yearFromADate = aDate.plusYears(1);
 

15voto

Sergii Zagriichuk Points 3393

Vous pouvez essayer joda-time .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X