OR
誰でも自由に記事を投稿・編集できるオープンリファレンス
記事ID:609
区分:プログラム  |  分類:Java  |  最終更新日:2014/08/28
クリエイティブ・コモンズ 表示-継承ライセンス 2.1
【Java】日時を加算・減算する
関連タグ:Java, java.util.Calendar
このエントリーをはてなブックマークに追加      
本文
履歴
編集
閲覧数: 70,013
Java関連技術まとめ > 【Java】日時を加算・減算する

Java で日時を加算・減算するには、Calendar クラスの add メソッドを使用します。

 

メソッド戻り値説明
add(int, int) void 指定のフィールドに対して数量を加算・減算します。

 

add メソッドは元となる Calendar オブジェクトが持っている日時に対して、任意の数量を加算します。第一引数にフィールド(年、月、日、時、分、秒など)を指定し、第二引数に数量を指定することで、元となる Calendar オブジェクトの値を直接変更します。数量をプラスで指定した場合は加算となり、マイナスで指定した場合は減算となります。

 

【サンプルコード】

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class sample {
    public static void main (String[] args) {

        // Calendarオブジェクトを生成します
        Calendar cal1 = Calendar.getInstance();
        
        // 表示用フォーマットを設定します
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

        // 計算の元となる日時を毎回「2014/10/20 10:20:30」に設定します
        // 年に「1」をaddして年を加算します
        cal1.set(2014, 9, 20, 10, 20, 30);
        cal1.add(Calendar.YEAR, 1);
        System.out.println(sdf1.format(cal1.getTime()));
        
        // 月に「-2」をaddして月を減算します
        cal1.set(2014, 9, 20, 10, 20, 30);
        cal1.add(Calendar.MONTH, -2);
        System.out.println(sdf1.format(cal1.getTime()));

        // 日に「3」をaddして日を加算します
        cal1.set(2014, 9, 20, 10, 20, 30);
        cal1.add(Calendar.DATE, 3);
        System.out.println(sdf1.format(cal1.getTime()));

        // 時に「-4」をaddして時間を減算します
        cal1.set(2014, 9, 20, 10, 20, 30);
        cal1.add(Calendar.HOUR, -4);
        System.out.println(sdf1.format(cal1.getTime()));
        
        // 分に「5」をaddして分を加算します
        cal1.set(2014, 9, 20, 10, 20, 30);
        cal1.add(Calendar.MINUTE, 5);
        System.out.println(sdf1.format(cal1.getTime()));

        // 秒に「-6」をaddして秒を減算します
        cal1.set(2014, 9, 20, 10, 20, 30);
        cal1.add(Calendar.SECOND, -6);
        System.out.println(sdf1.format(cal1.getTime()));
    }
}

 

【実行結果】

2015/10/20 10:20:30
2014/08/20 10:20:30
2014/10/23 10:20:30
2014/10/20 06:20:30
2014/10/20 10:25:30
2014/10/20 10:20:24

関連記事
外部リンク
- 記事検索 -