Android Dev/Android

[Android] LocalDate, LocalDateTime 날짜 비교하기

서메리 2022. 6. 17. 11:53

날짜 비교 LocalDate

val dateA = LocalDate.of(2022, 6, 17)
val dateB = LocalDate.of(2022, 6, 16)
val dateC = LocalDate.of(2022, 6, 17)
  • A > B : A.isAfter(B)
dateA.isAfter(dateB) // true
dateB.isAfter(dateA) // false
dateA.isAfter(dateC) // false
  • A < B : A.isBefore(B)
dateA.isBefore(dateB) // false
dateB.isBefore(dateA) // true
dateA.isBefore(dateC) // false
  • A = B : A.isEqual(B)
dateA.isEqual(dateB) // false
dateB.isEqual(dateA) // false
dateA.isEqual(dateC) // true
  • return Integer : A.compareTo(B)
dateA.compareTo(dateB) // 1 (양수)
dateB.compareTo(dateA) // -1 (음수)
dateA.compareTo(dateC) // 0

 

 

 


추가로 Android 8.0(Oreo, API level 26) 미만에서 java.time 패키지 LocalDate를 사용하는 방법

 

    build.gradle(in app)

android {
    defaultConfig {
        // Required when setting minSdkVersion to 20 or lower
        multiDexEnabled true
    }

    compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true
        // Sets Java compatibility to Java 8
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
}

 

참고 > https://developer.android.com/studio/write/java8-support?hl=ko#groovy