@JigarJoshi đó là câu trả lời tốt, và tất nhiên cũng khuyến nghị @Tim sử dụng. Joda thời gian .
Tôi chỉ muốn thêm nhiều khả năng để trừ ngày từ a java.util.Date
.
Thông tin chung
Một khả năng là sử dụng apache-commons-lang . Bạn có thể làm điều đó bằng cách sử dụng DateUtils
như sau:
Date dateBefore30Days = DateUtils.addDays(new Date(),-30);
Tất nhiên, thêm commons-lang
phụ thuộc để chỉ trừ ngày có lẽ không phải là một lựa chọn tốt, tuy nhiên nếu bạn đang sử dụng commons-lang
thì đó là một lựa chọn tốt. Ngoài ra còn có phương pháp thuận tiện để addYears
, addMonths
, addWeeks
và như vậy, hãy nhìn vào các api đây .
Java 8
Một khả năng khác là tận dụng lợi thế mới LocalDate
từ Java 8 bằng minusDays(long days)
phương thức:
LocalDate dateBefore30Days = LocalDate.now(ZoneId.of("Europe/Paris")).minusDays(30);