这是普通的 JDK 版本,它需要
Calendar该类作为帮助程序:
Date referenceDate = new Date();Calendar c = Calendar.getInstance(); c.setTime(referenceDate); c.add(Calendar.MONTH, -3);return c.getTime();
但是,由于和类的各种缺点,您应该认真考虑使用 Joda库
。使用Joda,您可以执行以下操作:
Date``Calendar
new DateTime().minusMonths(3).toDate();
或者,如果您要从给定日期而不是当前日期中减去:
new DateTime(referenceDate).minusMonths(3).toDate();
Java 8更新: 使用Java 8,您还可以使用新的JSR 310 API(受Joda的启发):
LocalDateTime.from(referenceDate.toInstant()).minusMonths(3);



