如何使用java从当前日期减少一个月并存储在日期变量中?

2022-08-31 14:54:22

如何从当前日期减少一个月,并希望使用此代码在变量im中疼痛,但它在第二行显示错误java.util.Date

 java.util.Date da = new Date();
 da.add(Calendar.MONTH, -1); //error

如何在变量中存储此日期?java.util.Date


答案 1

使用日历:

Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -1);
Date result = cal.getTime();

答案 2

从 Java 8 开始,建议的方法是使用日期时间 API 而不是 。Calendar

如果要返回对象:Date

Date date = Date.from(ZonedDateTime.now().minusMonths(1).toInstant());

如果您不需要确切的对象,则可以直接使用包提供的类,甚至可以获取其他时区的日期:Date

ZonedDateTime dateInUTC = ZonedDateTime.now(ZoneId.of("Pacific/Auckland")).minusMonths(1);