본문 바로가기

프로그래밍

[Kotlin]코틀린 해당 월의 일(day)갯수 계산

반응형
1
2
3
4
5
6
7
8
fun getDaysInMonth(month: Int, year: Int): Int {
  return when (month-1) {
    Calendar.JANUARY, Calendar.MARCH, Calendar.MAY, Calendar.JULY, Calendar.AUGUST, Calendar.OCTOBER, Calendar.DECEMBER -> 31
    Calendar.APRIL, Calendar.JUNE, Calendar.SEPTEMBER, Calendar.NOVEMBER -> 30
    Calendar.FEBRUARY -> if (year % 4 == 0 && year % 100 != 0 || year % 400 == 029 else 28 // 윤년계산
    else -> throw IllegalArgumentException("Invalid Month")
  }
}
cs

 

해당 월의 일(day)개수를 얻고 싶으면

 

인자 값에 해당 월과 년도를 입력하면

해당월의 일의 갯수를 알려준다.

 

ex) getDaysInMonth ( 4, 2021 )  -> return 값은 30

 

- 5번째 줄은 윤년 계산

  • if (year % 4 == 0 && year % 100 != 0 || year % 400 == 029 else 28
  • 2020년 이면 윤년이므로 
    • ex) getDaysInMonth ( 2, 2020 ) -> return 값은 29
  • 2021년 이면 윤년이 아니므로 
    • ex) getDaysInMonth ( 2, 2021 ) -> return 값은 28
반응형