Как добавить x дней к дате в Java?
Например, моя дата (dd/mm/yyyy) = 01/01/2012
Добавление 5 дней, выход должен быть 06/01/2012
.
Как добавить x дней к дате в Java?
Например, моя дата (dd/mm/yyyy) = 01/01/2012
Добавление 5 дней, выход должен быть 06/01/2012
.
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
c.setTime(new Date()); // Now use today date.
c.add(Calendar.DATE, 5); // Adding 5 days
String output = sdf.format(c.getTime());
System.out.println(output);
С API Java 8 Дата и время вы можете использовать класс LocalDate
.
LocalDate.now().plusDays(nrOfDays)
См. Учебник Oracle.
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);
Вы также можете вычитать такие дни, как Calendar.add(Calendar.DAY_OF_MONTH, -5);
Вот простой код для вывода в виде currentdate
+ D days
= some 'x' date
(будущая дата):
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, 5);
System.out.println(dateFormat.format(c.getTime()));
Если вы используете Joda-Time (и есть много веских причин - простой, интуитивно понятный API и безопасность потоков) то вы можете сделать это тривиально:
(new LocalDate()).plusDays(5);
чтобы дать, например, 5 дней с сегодняшнего дня.
Простой, без какого-либо другого API:
Чтобы добавить 8 дней:
Date today=new Date();
long ltime=today.getTime()+8*24*60*60*1000;
Date today8=new Date(ltime);