Javaで日付の計算をする場合は「Calendarクラスのadd(int, int)」 メソッドを使用します。
指定日数を足す
日付を足す場合は以下のように使用します。
add(日付,足す日数);のように指定します。
以下の例は今日の日付にキーボードから入力された値を足して表示した例です。
使用例
import java.io.*; import java.util.*; public class Keisan{ public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Calendar now = Calendar.getInstance(); //キーボードから入力 String str = br.readLine(); //入力された値をintに変換 int nu= Integer.parseInt(str); //キーボードから入力された値nuを現在の日付に足す now.add(Calendar.DATE,nu); int y = now.get(now.YEAR); int m = now.get(now.MONTH) + 1; int d = now.get(now.DATE); System.out.println(y+"年"+m+"月"+d+"日"); } }
実行結果
100 ←入力した値 2007年4月15日
指定日数を引く
日付を引く場合は足す場合と使用するメソッドを使用します。
マイナスの日数を指定することにより、日付を引くことが出来ます。
以下の例は今日の日付から-10を引いた例です。
使用例
import java.io.*; import java.util.*; public class Keisan{ public static void main(String[] args) throws IOException{ Calendar now = Calendar.getInstance(); //今日の日付から-10日を引く now.add(Calendar.DATE,-10); int y = now.get(now.YEAR); int m = now.get(now.MONTH) + 1; int d = now.get(now.DATE); System.out.println(y+"年"+m+"月"+d+"日"); } }
実行結果
2006年12月26日