미래나 과거의 날짜 계산하기

Kotlin:
미래나 과거의 날짜 계산하기

How to (어떻게 하나요?)

Kotlin을 사용해 날짜를 계산하는 예제입니다. Java의 LocalDateTimePeriod 클래스를 활용합니다.

import java.time.LocalDateTime
import java.time.Period

fun main() {
    val today = LocalDateTime.now()
    println("오늘: $today")

    val tenDaysLater = today.plusDays(10)
    println("10일 후: $tenDaysLater")

    val threeWeeksEarlier = today.minusWeeks(3)
    println("3주 전: $threeWeeksEarlier")

    val period = Period.of(1, 2, 15) // 1년 2개월 15일
    val customDate = today.plus(period)
    println("1년 2개월 15일 후: $customDate")
}

출력 결과:

오늘: 2023-04-11T16:40:42.123
10일 후: 2023-04-21T16:40:42.123
3주 전: 2023-03-21T16:40:42.123
1년 2개월 15일 후: 2024-06-26T16:40:42.123

Deep Dive (심도 있는 정보)

캘린더 계산은 컴퓨터 과학과 인류 역사 깊숙이 관련이 있습니다. 예로, 율리우스력과 그레고리력의 전환은 날짜 계산 방식에 영향을 미쳤습니다. Kotlin에서 날짜를 계산할 때 Java의 java.time 패키지(LocalDate, LocalDateTime, Period, Duration 등)를 활용하는 것이 일반적입니다. java.util.DateCalendar는 오래되었고 문제가 많아서 피하는 것이 좋습니다. LocalDateTime 클래스는 시간대를 고려하지 않는 날짜와 시간을 나타냅니다. 전 세계 사용자를 위해서는 ZonedDateTime을 사용해야 할 경우도 있습니다.

See Also (참고 자료)