Kotlin 日時を比較するサンプル

Kotlinの日時を比較するサンプルです。

目次

日時の比較 日にちを比較する(LocalDate)
  時間を比較する(LocalDateTime)

日にちを比較する(LocalDate)

public boolean isAfter(ChronoLocalDate other)
public boolean isBefore(ChronoLocalDate other)
public boolean isEqual(ChronoLocalDate other)

LocalDateクラスで日にちを比較するサンプルです。

import java.time.LocalDate

fun main(args: Array<String>) {

    val date1 = LocalDate.of(2020, 8, 3)
    val date2 = LocalDate.of(2020, 7, 30)

    val d1 = date1.isAfter(date2)
    println(d1) // true

    val d2 = date1.isBefore(date2)
    println(d2) // false

    val d3 = date1.isEqual(date2)
    println(d3) // false

    val date3 = LocalDate.of(2020, 8, 3)
    val date4 = LocalDate.of(2020, 8, 3)

    val d4 = date3.isEqual(date4)
    println(d4) // true
}

5行目は、2020年8月3日を意味します。
6行目は、2020年7月30日を意味します。
8行目は、isAfterメソッドです。A>Bのときにtrueになります。
11行目は、isBeforeメソッドです。A<Bのときにtrueになります。
14行目は、isEqualメソッドです。A=Bのときにtrueになります。

時間を比較する(LocalDateTime)

LocalDateTimeクラスで時間を比較するサンプルです。

import java.time.LocalDateTime
import java.time.LocalTime

fun main(args: Array<String>) {
    val date1 = LocalDateTime.of(2020, 8, 3, 15, 20, 10)
    val date2 = LocalDateTime.of(2020, 8, 3, 14, 50, 10)

    val d1 = date1.isAfter(date2)
    println(d1) // true

    val d2 = date1.isBefore(date2)
    println(d2) // false

    val d3 = date1.isEqual(date2)
    println(d3) // false

    val date3 = LocalTime.of(15, 20, 10)
    val date4 = LocalTime.of(14, 50, 10)

    val d4 = date3.isAfter(date4)
    println(d4) // true
}

5行目は、2020年8月3日15時20分10秒を意味します。
6行目は、2020年7月30日14時50分10秒を意味します。
8行目は、isAfterメソッドです。A>Bのときにtrueになります。
11行目は、isBeforeメソッドです。A<Bのときにtrueになります。
14行目は、isEqualメソッドです。A=Bのときにtrueになります。
17,18行目は、LocalTimeクラスです。時間のみで比較する場合使用できます。

以下は、Java8 API仕様のLocalDateTimeクラスのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/time/LocalDateTime.html

関連の記事

Java 現在日時の取得と表示形式のサンプル

△上に戻る