@JigarJoshi é a boa resposta e, é claro, também a recomendação da @Tim. tempo de joda .
Eu só quero adicionar mais possibilidades para subtrair dias de a java.util.Date
.
Apache-commons
Uma possibilidade é usar o apache-commons-lang . Você pode fazer isso da DateUtils
seguinte maneira:
Date dateBefore30Days = DateUtils.addDays(new Date(),-30);
É claro que adicione a commons-lang
dependência de subtrair apenas a data e provavelmente não é uma boa opção, no entanto, se você já estiver usando commons-lang
, é uma boa escolha. Há também métodos convenientes para addYears
, addMonths
, addWeeks
e assim por diante, dê uma olhada na API aqui .
Java 8
Outra possibilidade é aproveitar as novidades LocalDate
do Java 8 usando o minusDays(long days)
método:
LocalDate dateBefore30Days = LocalDate.now(ZoneId.of("Europe/Paris")).minusDays(30);