如何从当前date减less一个月,并使用java存储在datevariables?
如何从当前date减less一个月,并想使用此代码在java.util.Datevariablesim疼痛,但它显示错误在第二行 
  java.util.Date da = new Date(); da.add(Calendar.MONTH, -1); //error 
 如何在java.util.Datevariables中存储这个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);