프로그래밍/Android

[Kotlin/Java] 생년월일 기준으로 현재 만 나이 계산하기

Lou Park 2021. 1. 11. 22:36

입력한 생년월일을 기준으로 만 나이를 계산하는 코드다. calculateAge(date) >= 14 일경우, 만 14세 이상 조건을 만족하게 된다.

/**
 * 생년월일을 기준으로 현재 나이 계산
 * @param unix unixtimestamp
 */
fun calculateAge(date: Date?): Int {
    val birthCalendar = Calendar.getInstance()
    birthCalendar.time = date ?: Date()
    val current = Calendar.getInstance()
    val currentYear = current[Calendar.YEAR]
    val currentMonth = current[Calendar.MONTH]
    val currentDay = current[Calendar.DAY_OF_MONTH]
    var age = currentYear - birthCalendar[Calendar.YEAR]
    if (birthCalendar[Calendar.MONTH] * 100 +
        birthCalendar[Calendar.DAY_OF_MONTH] > currentMonth * 100 + currentDay
    ) age--
    return age
}