Java
Kotlin

Kotlinで月の日数を求める

Calendarクラスの getActualMaximum メソッドを使うことで簡単に月の日数を求めることができます。
いままでタイムスタンプを一日毎に足していって、月が変わるまでループしてました。。。

import java.util.*

fun main(args: Array<String>) {
    val calendar = Calendar.getInstance()
    val year = 2020
    val month = 2
    calendar.set(year, month - 1, 1) // 月の指定は0始まりなので注意
    val maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH)
    print("${year}年${month}月は${maxDay}日まであるよ")
}