Ответ 1
-
Получить сегодня дату как
Calendar
. -
Добавьте к нему 1 день.
-
Формат для отображения.
Например,
GregorianCalendar gc = new GregorianCalendar();
gc.add(Calendar.DATE, 1);
// now do something with the calendar
В моем приложении для Android... Мне нужно отобразить дату завтрашнего дня.. например, сегодня 5 марта, поэтому мне нужно отобразить как 6 марта. Я знаю код для получения сегодняшней даты, месяца и года..
вычисление daet
GregorianCalendar gc = new GregorianCalendar();
yearat = gc.get(Calendar.YEAR);
yearstr = Integer.toString(yearat);
monthat = gc.get(Calendar.MONTH) + 1;
monthstr = Integer.toString(monthat);
dayat = gc.get(Calendar.DAY_OF_MONTH);
daystr = Integer.toString(dayat);
Если я даю код вроде
dayat = gc.get(Calendar.DAY_OF_MONTH) + 1;
это то, что будет отображать дату завтрашнего дня.. или просто добавить одну к сегодняшней дате... например, если сегодня 31 января.. и если я даю выше код, он будет отображаться как 1 или 32. Если он отображает 32, какое изменение мне нужно сделать в коде... пожалуйста, помогите..
Получить сегодня дату как Calendar
.
Добавьте к нему 1 день.
Формат для отображения.
Например,
GregorianCalendar gc = new GregorianCalendar();
gc.add(Calendar.DATE, 1);
// now do something with the calendar
Используйте следующий код для отображения завтрашней даты
Calendar calendar = Calendar.getInstance();
Date today = calendar.getTime();
calendar.add(Calendar.DAY_OF_YEAR, 1);
Date tomorrow = calendar.getTime();
Использовать SimpleDateFormat для форматирования даты как строки:
DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
String todayAsString = dateFormat.format(today);
String tomorrowAsString = dateFormat.format(tomorrow);
System.out.println(todayAsString);
System.out.println(tomorrowAsString);
Печать
05-Mar-2014
06-Mar-2014
Calendar calendar = Calendar.getInstance();
Date today = calendar.getTime();
calendar.add(Calendar.DAY_OF_YEAR, 1);
Date tomorrow = calendar.getTime();
вам нужно добавить только 1 в день календаря.
GregorianCalendar gc = new GregorianCalendar();
gc.add(Calendar.DATE, 1);
java.util.Date
и java.util.Calendar
страшно работать. Я предлагаю вам использовать JodaTime, который имеет более чистый/более удобный API. В настоящее время JodaTime довольно стандартная.
http://www.joda.org/joda-time/#Why_Joda-Time
Обратите внимание, что JDK 8 представит новый API с датой/временем, сильно зависящий от JodaTime.
первые ответы в значительной степени охватывают возможности. но здесь еще одно решение, которое вы можете использовать из org.apache.commons.lang.time:
Date lTomorrow = DateUtils.addDays(new Date(), 1);
Другие параметры:
Calendar tomorrow = Calendar.getInstance();
tomorrow.roll(Calendar.DATE, true);
или
tomorrow.roll(Calendar.DATE, 1);
roll
также можно использовать для возврата во времени путем передачи отрицательного числа, например, например:
Calendar yesterday = Calendar.getInstance();
yesterday.roll(Calendar.DATE, -1);
Классы java.util.Date и .Calendar, как известно, хлопотны. Избежать их. Вместо этого используйте Joda-Time библиотеку или новый пакет java.time в комплекте с Java 8.
Пример кода с использованием библиотеки Joda-Time 2.3.
DateTimeZone timeZone = DateTimeZone.forID( "Europe/Paris" );
DateTime now = new DateTime( timeZone );
DateTime tomorrow = now.plusDays( 1 );
String output = DateTimeFormat.forPattern( "FF" ).withLocale(Locale.FRANCE).print( tomorrow );
Получить сегодняшнюю дату с помощью календаря, а затем добавить 1 день к нему.
Попробуйте вот так.
dayat = gc.add(Calendar.DATE, 1);