@JigarJoshi itu jawaban yang bagus, dan tentu saja juga rekomendasi @Tim untuk digunakan. joda-waktu .
Saya hanya ingin menambahkan lebih banyak kemungkinan untuk mengurangi hari dari a java.util.Date.
Apache-commons
Satu kemungkinan adalah menggunakan apache-commons-lang . Anda dapat melakukannya menggunakan DateUtilssebagai berikut:
Date dateBefore30Days = DateUtils.addDays(new Date(),-30);
Tentu saja menambahkan commons-langketergantungan untuk hanya melakukan kurangkan kurangi itu mungkin bukan pilihan yang baik, namun jika Anda sudah menggunakannya commons-langitu pilihan yang baik. Ada juga metode nyaman untuk addYears, addMonths, addWeeksdan sebagainya, kita lihat di api disini .
Java 8
Kemungkinan lain adalah untuk mengambil keuntungan LocalDatedari Java 8 menggunakan minusDays(long days)metode:
LocalDate dateBefore30Days = LocalDate.now(ZoneId.of("Europe/Paris")).minusDays(30);