2019年11月2日
Java で簡単に日付・時刻の加算・減算を計算するサンプルプログラムを紹介します。
サンプルプログラムの特徴は以下となります。
サンプルプログラムでは、リターン値として計算後の日付を保持する java.util.Calendar オブジェクトを取得できますので、java.util.Calendar#getTime()メソッドにより、java.util.Dateに変換し java.text.SimpleDateFormat により日付文字列に変換しています。
◆実行例public static void main(String[] args) { SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); System.out.println("現在 の日付・時刻 = "+ f.format(add(null,0,0,0,0,0,0,0).getTime())); System.out.println("1年後 の日付・時刻 = "+ f.format(addYera(1).getTime())); System.out.println("1ヶ月前 の日付・時刻 = "+ f.format(addMonth(-1).getTime())); System.out.println("3時間後 の日付・時刻 = "+ f.format(addHour(3).getTime())); System.out.println("30時間前の日付・時刻 = "+ f.format(addHour(-30).getTime())); System.out.println("40分後 の日付・時刻 = "+ f.format(addMinute(40).getTime())); System.out.println("80秒後 の日付・時刻 = "+ f.format(addSecond(80).getTime())); System.out.println("1ヶ月前から、4日後の日付・時刻 = "+ f.format(add(null,0,-1,4,0,0,0,0).getTime())); }◆実行結果
現在 の日付・時刻 = 2008/03/25 00:00:00 1年後 の日付・時刻 = 2009/03/25 00:00:00 1ヶ月前 の日付・時刻 = 2008/02/25 00:00:00 3時間後 の日付・時刻 = 2008/03/25 03:00:00 30時間前の日付・時刻 = 2008/03/23 18:00:00 40分後 の日付・時刻 = 2008/03/25 00:40:00 80秒後 の日付・時刻 = 2008/03/25 00:01:20 1ヶ月前から、4日後の日付・時刻 = 2008/02/29 00:00:00※2008年は閏年のため2月の月末日付は29日となります。