0

日付に 1 か月追加したいのですが、4 週間しか追加されません。

このようにしてみましたが、

2012-05-04 + DateTimeUtilities.ONEMONTH  = 2012-05-31

私が得ている結果は 2012-05-31 です

1 か月分 (30 日または 31 日、または月がうるう年の場合は 29 日または 28 日) を追加したい。

4

1 に答える 1

3

時間をCalendarオブジェクトに変換してから、月フィールドをインクリメントしてみてください。

Calendar cal = Calendar.getInstance();
cal.setTime(new Date(timeInMillis));
cal.set(Calendar.MONTH, cal.get(Calendar.MONTH)+1);
long newTimeInMillis = cal.getTime().getTime();

12月から1月までのオーバーフローをチェックして、年をインクリメントすることをお勧めします。

APIドキュメントでは、DateTimeUtilities.ONEMONTHが4週間であることが確認されているため、取得したものは期待どおりです。

于 2012-06-02T12:28:26.913 に答える