64

How to reduce one month from current date and want to sore in java.util.Date variable im using this code but it's shows error in 2nd line

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

How to store this date in java.util.Date variable?

4

8 に答える 8

106

カレンダーを使用:

Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -1);
Date result = cal.getTime();
于 2013-05-06T06:10:36.557 に答える
21

Java 8 以降、推奨される方法Calendar.

Dateオブジェクトを返す場合:

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

オブジェクトが正確に必要ない場合はDate、パッケージによって提供されるクラスを直接使用して、他のタイムゾーンの日付を取得することもできます。

ZonedDateTime dateInUTC = ZonedDateTime.now(ZoneId.of("Pacific/Auckland")).minusMonths(1);
于 2016-09-16T11:28:56.510 に答える
9
Calendar calNow = Calendar.getInstance()

// adding -1 month
calNow.add(Calendar.MONTH, -1);

// fetching updated time
Date dateBeforeAMonth = calNow.getTime();
于 2013-05-06T06:10:25.763 に答える
5

JodaTime の使用:

Date date = new DateTime().minusMonths(1).toDate();

JodaTime は、日付操作に便利な API を提供します。

同様の Date API がJSR310とともに JDK8 に導入されることに注意してください。

于 2013-05-06T09:52:39.713 に答える