[入門~応用] Java サンプルプログラム集

目的

複数の日付を加算・減算したい。
例えば、「5月1日」を1日を減算して「4月30日」を取得する。

関連キーワード

複数の日付を加算・減算したい。
例えば、「5月1日」を1日を減算して「4月30日」を取得する。

Calendar#getInstance


日付, 加算, 減算, 足し算, 引き算, 計算, 前後

解説

java.util.Calendarクラスでインスタンスを生成後、Calendar#add(int, int)を使って、時間・日付の加算・減算をする。
第1引数が、加減算する単位(時間なのか、日なのか、月なのか等)を指定し、第2引数では加減算する数値を指定する。
 
メソッド名がaddなので、加算しかできないように思わるかもしれませんが、第2引数でマイナスの数値を指定すればできます。
 

サンプルコード

具体的に、コードを書くと次のようになります。

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

public class Sample {
    public static void main(String[] args) {
        // Calendarクラスのインスタンスを生成する
        Calendar calendar = Calendar.getInstance();
        // 上記の時間に1秒を増やす
        calendar.add(Calendar.SECOND, 1);
        // 上記の時間に3分を減らす
        calendar.add(Calendar.MINUTE, -3);
        // 上記の時間に5時間を増やす
        calendar.add(Calendar.HOUR, 5);
        // 上記の時間に7日間を減らす
        calendar.add(Calendar.DATE, -7);
        // 上記の時間に9ヶ月を増やす
        calendar.add(Calendar.MONTH, 9);
        // 上記の時間に11年を減らす
        calendar.add(Calendar.YEAR, -11);
        // 結果表示をするために日付フォーマットをする
        SimpleDateFormat simpleDateFormat1 = 
                    new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        String outputdata1 = 
                 simpleDateFormat1.format(calendar.getTime());
        System.out.println("日付の計算結果=" + outputdata1);
    }
}

実行結果

上で書いたサンプルコードを、DOS窓からコンパイルして実行すると、以下の結果が表示されます。

C:sample>javac Sample.java
 
C:sample>java Sample
日付の計算結果=2004/07/06 12:13:33

関連記事

現在時刻を取得する 日付形式にフォーマットする 指定した日付後の日付を取得する 曜日を取得する 期間を取得する 月末日を取得する 処理時間を計測する 日付の妥当性を検査する 日付を比較する 四則演算(+-*÷)する 絶対値を計算する 2/8/10/16進数を変換する 切り捨て・切り上げ・四捨五入 最大値・最小値を取得する 乱数を発生させる 割り算の余りを計算する 平方根を計算する 二乗(累乗)を計算する コサイン/サイン/タンジェントを計算する 自然対数/自然対数の底/円周率を計算する 最大公約数/最小公倍数を計算する 階乗を計算する オブジェクトのクローン・コピーを作成する オブジェクトを比較する オブジェクトを文字列として取得する オブジェクトの型を調べる 文字列の一部を抜き出す 文字と文字を結合・連結する 文字列の長さを取得する 文字列を(前方・後方)検索する 文字列を置き換える 文字列で分割する 文字列から空白文字列を除去する 文字列と文字列を比較する 大文字・小文字を変換する 文字列のヒット回数をカウントする 文字列を暗号化する 文字列を逆にする null時にデフォルト文字列に置き換える 文に含まれる空白文字列を削除する アクティブなスレッドの数を取得する 実行を一時停止(スリープ)する ファイルの属性情報を取得する ディレクトリの属性情報を取得する ファイルへ書き込む ファイルから読み出す ディレクトリ内のファイルのリストを取得 ディレクトリ/ファイルを読み取り専用にする パスの区切り文字(\\)を取得する ファイルが読み取り/書き込み可能か取得する ディレクトリ/ファイルを新規作成する ディレクトリ/ファイルを削除する 一時的なディレクトリ/ファイルを新規作成する ディレクトリ/ファイルが存在するか取得する ファイルサイズを取得する 特定の場所にランダム書込みをする ログを出力する ログをフォーマットする ログのレベルを設定する Appenderの種類 ログをファイルへ保存する ログをネットワーク経由で保存する ログをシステムログへ保存する ログをデータベースへ保存する AccessをJDBC経由で使う Oracleを使う MySQLをJDBC経由で使う PostgreSQLをJDBC経由で使う 自動的にコミットする 手動でコミットする トランザクション管理する 処理結果を取得する ストアドプロシージャーを呼び出す データ型を調べる Oracleのエラー値を取得する テーブルのカラムの型・長さを取得する O/RマッピングでDBをスマートに サーブレットを使う リダイレクトとフォワード アクセスユーザーの情報を取得する ベーシック・基本認証をしたい 画面遷移させる jarライブラリーを配置する Cookieの書込む/読み込む 文字コードをセットする フォームからのリクエストデータを取得する サーブレットをフィルターを通す JSPを使う JavaBeansを使う 簡単!Javaサンプルプログラム

[入門~応用] Java サンプルプログラム集 へ | ページ先頭
 
著作権免責事項リンク集
Copyright (C) 2001-2012 DOS窓. All Rights Reserved. (processing time 0.08s)
対策に問題集及びテキストと、学習システム(e-Learning)で独学をサポートしています。