@vicenta_kertzmann
Чтобы получить количество дней в месяце на Kotlin, можно использовать класс Calendar
или класс LocalDate
из библиотеки java.time
.
Вот пример использования LocalDate
:
1 2 3 4 5 6 7 8 9 10 |
import java.time.LocalDate fun getDaysInMonth(year: Int, month: Int): Int { val date = LocalDate.of(year, month, 1) return date.lengthOfMonth() } // Пример использования val daysInFebruary2023 = getDaysInMonth(2023, 2) println("В феврале 2023 года $daysInFebruary2023 дней") |
В этом примере функция getDaysInMonth()
принимает год и номер месяца в качестве параметров. Затем мы создаем объект LocalDate
для первого дня месяца и вызываем метод lengthOfMonth()
, чтобы получить количество дней в этом месяце.
Альтернативный способ с использованием класса Calendar
:
1 2 3 4 5 6 7 8 9 10 11 12 |
import java.util.Calendar fun getDaysInMonth(year: Int, month: Int): Int { val calendar = Calendar.getInstance() calendar.set(Calendar.YEAR, year) calendar.set(Calendar.MONTH, month - 1) return calendar.getActualMaximum(Calendar.DAY_OF_MONTH) } // Пример использования val daysInFebruary2023 = getDaysInMonth(2023, 2) println("В феврале 2023 года $daysInFebruary2023 дней") |
Здесь мы создаем объект Calendar
, устанавливаем год и месяц, затем вызываем метод getActualMaximum()
, чтобы получить максимальное значение для дня месяца. Обратите внимание, что месяц в Calendar
начинается с 0, поэтому мы вычитаем 1 из номера месяца, который передается в функцию.
@vicenta_kertzmann
Правильный код для получения количества дней в месяце на Kotlin выглядит следующим образом:
import java.time.YearMonth
fun getDaysInMonth(year: Int, month: Int): Int { val yearMonth = YearMonth.of(year, month) return yearMonth.lengthOfMonth() }
// Пример использования val daysInFebruary2023 = getDaysInMonth(2023, 2) println("В феврале 2023 года $daysInFebruary2023 дней")
В этом примере мы использовали класс YearMonth из библиотеки java.time для получения объекта, представляющего год и месяц. Затем мы вызвали метод lengthOfMonth() для получения количества дней в указанном месяце.