2012-02-27 3 views
0

Я хочу увеличить сегодняшнюю дату (настоящую дату) на 2 дня, потому что мне нужно использовать ее для отправки напоминаний за два дня до назначения.Приращение тока Дата на два дня

+0

взглянуть на календарный класс: захватить один и приращение поля день – kleopatra

+0

См Javadoc Календаря [здесь ] (http://docs.oracle.com/javase/6/docs/api/java/util/Calendar.html) – DNA

+2

Обратите внимание, что использование класса 'Calendar' или JDK' Date' будет _also_ включать ** время * *, что может вызвать проблемы, если не учтено. У них также есть привязанный часовой пояс, который может вызвать проблемы. Некоторые дополнительные требования могут помочь нам дать лучший совет. –

ответ

-2

простое решение:

new Date(System.currentTimeMillis() + 86400 * 1000 * 2) 

даст вам дату объект 48 часов больше, чем теперь

+3

Два дня не всегда равны 48 часам, это также может быть 47 или 49 (начало/конец летнего времени) – Arjan

+0

@Arjan - Согласен, если предположить, что день всегда 24 часа, это довольно опасно. –

+0

новый Дата (System.currentTimeMillis() + (86400 * 2)) – baderkhane

0

Посмотрите на Calendar апи. Он предоставляет все необходимые инструменты.

0

, если вы хотите использовать это, чтобы отправить напоминания 2 дня до четный, вам не нужен объект даты за 2 дня до вашей даты Объект? В любом случае, если у вас есть объект Date как dt .., вы можете получить объект даты через 2 дня после этой даты, добавив 2 * 24 * 60 * 60 * 1000 миллисекунд к нему.

java.util.Date newDt = new Date(dt.getTime() + 2*24*60*60*1000);

Но я бы порекомендовал вам взглянуть на календарь апи .. Вот что вам нужно в этом случае. Calendar.add() method

+3

Два дня не всегда равны 48 часам, это также может быть 47 или 49 (начало/конец летнего времени) – Arjan

+0

@Arjan: Да, секунды прыжка не учитываются и различные другие странные функции datetime ... –

7

Использование java.util.Calendar:

Calendar c = Calendar.getInstance(); // starts with today's date and time 
c.add(Calendar.DAY_OF_YEAR, 2); // advances day by 2 
Date date = c.getTime(); // gets modified time 

По jdk8 вы можете использовать

LocalDate date = LocalDate.now().plusDays(2); 
Смежные вопросы