如何从当前date减less一个月,并使用java存储在datevariables?
如何从当前date减less一个月,并想使用此代码在java.util.Date
variablesim疼痛,但它显示错误在第二行
java.util.Date da = new Date(); da.add(Calendar.MONTH, -1); //error
如何在java.util.Date
variables中存储这个date?
使用日历:
Calendar cal = Calendar.getInstance(); cal.add(Calendar.MONTH, -1); Date result = cal.getTime();
Calendar calNow = Calendar.getInstance() // adding -1 month calNow.add(Calendar.MONTH, -1); // fetching updated time Date dateBeforeAMonth = calNow.getTime();
使用JodaTime :
Date date = new DateTime().minusMonths(1).toDate();
JodaTime为date操作提供了一个方便的API。
请注意,类似的Date API将在JDK8中与JSR310一起引入 。
你可以使用Calendar
java.util.Date da = new Date(); Calendar cal = Calendar.getInstance(); cal.setTime(da); cal.add(Calendar.MONTH, -1); da = cal.getTime();
从Java 8开始,build议的方法是使用date时间API而不是Calendar
。
如果你想要返回一个Date
对象:
Date date = Date.from(ZonedDateTime.now().minusMonths(1).toInstant());
如果您不需要确切的Date
对象,则可以直接使用包提供的类,甚至可以在其他时区中获取date:
ZonedDateTime dateInUTC = ZonedDateTime.now(ZoneId.of("Pacific/Auckland")).minusMonths(1);