87

Javaで日付にx日を追加するにはどうすればよいですか?

たとえば、私の日付は01/01/2012、形式として使用dd/mm/yyyyします。

5 日を追加すると、出力は になります06/01/2012

4

6 に答える 6

111
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
c.setTime(new Date()); // Using today's date
c.add(Calendar.DATE, 5); // Adding 5 days
String output = sdf.format(c.getTime());
System.out.println(output);
于 2012-08-23T08:22:47.823 に答える
50

java.time

Java 8 Date and Time APILocalDateを使用すると、クラスを使用できます。

LocalDate.now().plusDays(nrOfDays)

Oracle チュートリアルを参照してください。

于 2014-05-02T23:18:25.653 に答える
23
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, 1);
cal.set(Calendar.MONTH, 1);
cal.set(Calendar.YEAR, 2012);
cal.add(Calendar.DAY_OF_MONTH, 5);

次のように日数を引くこともできます。Calendar.add(Calendar.DAY_OF_MONTH, -5);

于 2012-08-23T08:21:01.720 に答える
21

5 日後の日付を出力する簡単なコードを次に示します。

DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, 5);
System.out.println(dateFormat.format(c.getTime()));

出力例:

16/12/2021

参照: Calendar#add

于 2013-12-26T07:31:03.580 に答える
14

Joda-Timeを使用している場合(そして、シンプルで直感的なAPIとスレッドセーフには多くの正当な理由があります)、これを簡単に行うことができます。

new LocalDate().plusDays(5);

たとえば、今日の日付に5日を追加します。

編集:私の現在のアドバイスは、Java8の日付/時刻APIを使用することです。

于 2012-08-23T08:17:02.793 に答える
13

シンプルで、他の API は必要ありません:

現在の日付に 8 日を追加するには、次のようにします。

Date today = new Date();
long ltime = today.getTime()+8*24*60*60*1000;
Date today8 = new Date(ltime);
于 2016-03-16T16:37:08.500 に答える