equals()/isBefore()/isAfter() メソッド
日時を比較するには、equals()/isBefore()/isAfter() メソッドが使えます。LacalDateTime()で生成された日時オブジェクトを比較して真偽値を返します。
[1] equals():dt1がdt2と等しいか?
dt1.equals(dt2) // 等しいならTRUE、等しくないならFALSEを返す
[2] isBefore():dt1がdt2より以前の日時か?
dt1.isBefore(dt2) // dt1がdt2より以前の日時であればTRUE、そうでなければFALSEを返す
[3] isAfter():dt1がdt2より以降の日時か?
dt1.isAfter(dt2) // dt1がdt2より以降の日時であればTRUE、そうでなければFALSEを返す
サンプルコード
java.timeパッケージを使った日付・時刻の取得方法はこちらに記載しています。
package sample.dateTime;
import java.time.LocalDateTime;
import java.time.LocalDate;
import java.time.LocalTime;
public class App {
public static void main(String[] args) {
//比較対象日時1の設定
var dt1 = LocalDateTime.of(2021, 10, 15, 20, 30, 10);
System.out.println("target time 1 : " + dt1);
//比較対象日時2の設定
var dt2 = LocalDateTime.of(2021, 10, 15, 20, 30, 10);
System.out.println("target time 2 : " + dt2);
//現在の日時取得
var current = LocalDateTime.now();
System.out.println("current time : " + current);
//比較結果を表示する
System.out.println("dt1がdt2と等しいか : " + dt1.equals(dt2));
System.out.println("currentがdt2と等しいか :" + current.equals(dt2));
System.out.println("currentはdt1以前か :" + current.isBefore(dt1));
System.out.println("currentはdt1以降か :" + current.isAfter(dt1));
}
}
実行結果
target time 1 : 2021-10-15T20:30:10
target time 2 : 2021-10-15T20:30:10
current time : 2021-10-17T20:04:29.706264
dt1がdt2と等しいか : true
currentがdt2と等しいか :false
currentはdt1以前か :false
currentはdt1以降か :true
コメント