【Java】日付・時刻を比較する

Java imageJava
Java image
Java

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

コメント

タイトルとURLをコピーしました