LocalDateTimeクラス
LocalDateTimeクラスの日時を比較するのにisAfterとisBeforeを使用するが、毎回どっちがどっちなのかが分からなくなるため表にしてみました。
a | b |
aは bより前 a.isAfter b |
aは bより後 a.isBefore b |
bは aより前 b.isAfter a |
bは aより後 b.isBefore a |
|
---|---|---|---|---|---|---|
a:新しい b:古い |
2023/12/12 00:00:00 | 2023/12/11 23:59:59 | false | true | true | false |
同日同時刻 | 2023/12/12 00:00:00 | 2023/12/12 00:00:00 | false | false | false | false |
a:古い b:新しい |
2023/12/12 00:00:00 | 2023/12/12 00:00:01 | true | false | false | true |
isAfter
この日付/時間が、指定された日付/時間より後にあるかどうかをチェックします。
LocalDate a = LocalDateTime.of(2012, 6, 30, 12, 00);
LocalDate b = LocalDateTime.of(2012, 7, 1, 12, 00);
a.isAfter(b) == false
a.isAfter(a) == false
b.isAfter(a) == true
isBefore
この日付/時間が、指定された日付/時間より前にあるかどうかをチェックします。
LocalDate a = LocalDateTime.of(2012, 6, 30, 12, 00);
LocalDate b = LocalDateTime.of(2012, 7, 1, 12, 00);
a.isBefore(b) == true
a.isBefore(a) == false
b.isBefore(a) == false