Если вам не нравится математика в решении от Тони Энниса
Date someDate = new Date(); // Or whatever
Date dayAfter = new Date(someDate.getTime() + TimeUnit.DAYS.toMillis( 1 ));
Но более или менее с тех пор, как я нашел это Q / A, я вместо этого использовал JodaTime и недавно переключился на новый DateTime в Java 8 (который вдохновил на не скопировано с Joda - спасибо @BasilBourqueless за то, что указал на это).
Java 8
В Java 8 почти все основанные на времени классы имеют метод .plusDays () , делающий эту задачу тривиальной:
LocalDateTime.now() .plusDays(1);
LocalDate.now() .plusDays(1);
ZonedDateTime.now() .plusDays(1);
Duration.ofDays(1) .plusDays(1);
Period.ofYears(1) .plusDays(1);
OffsetTime.now() .plus(1, ChronoUnit.DAYS);
OffsetDateTime.now() .plus(1, ChronoUnit.DAYS);
Instant.now() .plus(1, ChronoUnit.DAYS);
В Java 8 также добавлены классы и методы для взаимодействия между (теперь) устаревшей датой, календарем и т. Д. И новыми классами DateTime, которые, безусловно, являются лучшим выбором для всех новых разработок.