89 votes

Ajout de jours à une date en Java

Comment ajouter x jours à une date en Java ?

Par exemple, ma date est 01/01/2012 en utilisant dd/mm/yyyy comme format.

En ajoutant 5 jours, le résultat devrait être 06/01/2012 .

114voto

swemon Points 2799
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
c.setTime(new Date()); // Using today's date
c.add(Calendar.DATE, 5); // Adding 5 days
String output = sdf.format(c.getTime());
System.out.println(output);

51voto

Matthias Braun Points 1114

Java.time

Avec la version Java 8 API date et heure vous pouvez utiliser le LocalDate classe.

LocalDate.now().plusDays(nrOfDays)

Voir le Tutoriel Oracle .

23voto

Petr Mensik Points 8588
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.set(Calendar.MONTH, 1);
cal.set(Calendar.YEAR, 2012);
cal.add(Calendar.DAY_OF_MONTH, 5);

Vous pouvez également soustraire des jours comme ceci : Calendar.add(Calendar.DAY_OF_MONTH, -5);

22voto

user3136058 Points 11

Voici un code simple qui imprime la date dans cinq jours :

DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, 5);
System.out.println(dateFormat.format(c.getTime()));

Exemple de sortie :

16/12/2021

Voir aussi : Calendrier#add

14voto

Brian Agnew Points 143181

Si vous utilisez Joda-Time (et il y a beaucoup de bonnes raisons de le faire - une API simple et intuitive et la sécurité des fils), alors vous pouvez le faire de manière triviale :

new LocalDate().plusDays(5);

pour ajouter 5 jours à la date d'aujourd'hui, par exemple.

EDIT : Mon actuel Le conseil serait d'utiliser maintenant le API date/heure de Java 8

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