[kotlin] 코틀린에서의 날짜 변환 함수

코틀린은 풍부한 날짜 및 시간 관련 기능을 제공하는 언어입니다. 날짜를 다른 형식으로 변환하거나, 날짜 간의 차이를 계산하는 등의 작업을 할 수 있습니다. 이번 포스트에서는 코틀린에서 날짜를 변환하는 함수를 알아보겠습니다.

1. ISO 날짜 문자열에서 날짜 객체로 변환하기

ISO 8601 형식의 날짜 문자열을 코틀린에서 사용하는 LocalDate 객체로 변환하는 방법은 다음과 같습니다.

import java.time.LocalDate
import java.time.format.DateTimeFormatter

fun convertStringToDate(dateString: String): LocalDate {
    val formatter = DateTimeFormatter.ISO_DATE
    return LocalDate.parse(dateString, formatter)
}

위의 예제에서는 convertStringToDate 함수를 정의하여 넘겨받은 dateString 변수를 LocalDate 객체로 변환합니다. DateTimeFormatter.ISO_DATE를 사용하여 입력된 문자열이 ISO 8601 형식임을 명시하고, parse 함수를 통해 변환을 수행합니다.

2. 날짜 객체에서 ISO 날짜 문자열로 변환하기

반대로, 코틀린에서 LocalDate 객체를 ISO 8601 형식의 날짜 문자열로 변환하는 방법은 다음과 같습니다.

import java.time.LocalDate
import java.time.format.DateTimeFormatter

fun convertDateToString(date: LocalDate): String {
    val formatter = DateTimeFormatter.ISO_DATE
    return date.format(formatter)
}

위와 같이 convertDateToString 함수를 정의하여 입력된 LocalDate 객체를 format 함수를 사용하여 ISO 8601 형식으로 변환합니다.

3. 다른 날짜 형식으로 변환하기

ISO 8601 형식 이외의 날짜 형식으로 변환하려면 DateTimeFormatter를 사용하여 형식을 정의하고, format 함수를 통해 변환할 수 있습니다. 아래는 예제 코드입니다.

import java.time.LocalDate
import java.time.format.DateTimeFormatter

fun convertDateToCustomFormat(date: LocalDate, format: String): String {
    val formatter = DateTimeFormatter.ofPattern(format)
    return date.format(formatter)
}

위의 예제 코드에서는 convertDateToCustomFormat 함수를 정의하여 입력된 LocalDate 객체와 형식을 받아 format 함수를 사용하여 특정 형식으로 변환합니다. format 매개변수에는 날짜 형식을 지정할 수 있습니다. 예를 들어, yyyy-MM-dd 형식으로 변환하려면 format 매개변수에 "yyyy-MM-dd"를 전달하면 됩니다.

이상으로 코틀린에서의 날짜 변환 함수에 대해 알아보았습니다. 날짜 처리는 많은 애플리케이션에서 필수적인 요소이므로, 코틀린의 풍부한 날짜 및 시간 관련 기능을 적절히 활용해보세요.

참고 자료