目的
複数の日付の大小を比較したい。
例えば、「4月3日」と「5月2日」を比較して「4月3日」の方が早いと判定したい。
関連キーワード
複数の日付の大小を比較したい。
例えば、「4月3日」と「5月2日」を比較して「4月3日」の方が早いと判定したい。
解説
Calendarのインスタンスを生成した後、以下のメソッドで日時を判定する。
引数で指定した日時より後か ⇒ Calendar#after(Date) [後ならばtrue]
引数で指定した日時より前か ⇒ Calendar#before(Date) [前ならばtrue]
上の二つのメソッドは後か前かだけで日時が同じかどうかを判定することはできません。
前・後・同じの3つのステータスに対応したい時は下記のCalendar#compareTo(Date)を使うとよいでしょう。
戻り値は、前ならば-1、後ならば+1、同じならば0と返却されます。
引数で指定した日時と比較する ⇒ Calendar#compareTo(Date)
サンプルコード
具体的に、コードを書くと次のようになります。
import java.util.Date;
public class Sample {
public static void main(String[] args) {
// Dateクラスのインスタンスを生成する
Date inputdata1 = new Date();
Date inputdata2 = new Date(inputdata1.getTime() + 30);
// 日時が後か判定する
boolean outputdata1 = inputdata1.after(inputdata2);
// 日時が前か判定する
boolean outputdata2 = inputdata1.before(inputdata2);
// 日時を比較する
int outputdata3 = inputdata1.compareTo(inputdata2);
// 結果表示
System.out.println("日付が後か=" + outputdata1);
System.out.println("日付が前か=" + outputdata2);
System.out.println("日付の比較=" + outputdata3);
}
}実行結果
上で書いたサンプルコードを、DOS窓からコンパイルして実行すると、以下の結果が表示されます。
C:sample>javac Sample.java C:sample>java Sample 日付が後か=false 日付が前か=true 日付の比較=-1
関連記事
現在時刻を取得する 日付形式にフォーマットする 指定した日付後の日付を取得する 曜日を取得する 期間を取得する 月末日を取得する 処理時間を計測する 日付の妥当性を検査する 日付を計算(加算・減算)する 四則演算(+-*÷)する 絶対値を計算する 2/8/10/16進数を変換する 切り捨て・切り上げ・四捨五入 最大値・最小値を取得する 乱数を発生させる 割り算の余りを計算する 平方根を計算する 二乗(累乗)を計算する コサイン/サイン/タンジェントを計算する 自然対数/自然対数の底/円周率を計算する 最大公約数/最小公倍数を計算する 階乗を計算する オブジェクトのクローン・コピーを作成する オブジェクトを比較する オブジェクトを文字列として取得する オブジェクトの型を調べる 文字列の一部を抜き出す 文字と文字を結合・連結する 文字列の長さを取得する 文字列を(前方・後方)検索する 文字列を置き換える 文字列で分割する 文字列から空白文字列を除去する 文字列と文字列を比較する 大文字・小文字を変換する 文字列のヒット回数をカウントする 文字列を暗号化する 文字列を逆にする null時にデフォルト文字列に置き換える 文に含まれる空白文字列を削除する アクティブなスレッドの数を取得する 実行を一時停止(スリープ)する ファイルの属性情報を取得する ディレクトリの属性情報を取得する ファイルへ書き込む ファイルから読み出す ディレクトリ内のファイルのリストを取得 ディレクトリ/ファイルを読み取り専用にする パスの区切り文字(\\)を取得する ファイルが読み取り/書き込み可能か取得する ディレクトリ/ファイルを新規作成する ディレクトリ/ファイルを削除する 一時的なディレクトリ/ファイルを新規作成する ディレクトリ/ファイルが存在するか取得する ファイルサイズを取得する 特定の場所にランダム書込みをする ログを出力する ログをフォーマットする ログのレベルを設定する Appenderの種類 ログをファイルへ保存する ログをネットワーク経由で保存する ログをシステムログへ保存する ログをデータベースへ保存する AccessをJDBC経由で使う Oracleを使う MySQLをJDBC経由で使う PostgreSQLをJDBC経由で使う 自動的にコミットする 手動でコミットする トランザクション管理する 処理結果を取得する ストアドプロシージャーを呼び出す データ型を調べる Oracleのエラー値を取得する テーブルのカラムの型・長さを取得する O/RマッピングでDBをスマートに サーブレットを使う リダイレクトとフォワード アクセスユーザーの情報を取得する ベーシック・基本認証をしたい 画面遷移させる jarライブラリーを配置する Cookieの書込む/読み込む 文字コードをセットする フォームからのリクエストデータを取得する サーブレットをフィルターを通す JSPを使う JavaBeansを使う 簡単!Javaサンプルプログラム