Как получить количество дней в месяце в Java?

Пользователь

от ransom_homenick , в категории: Java , 2 года назад

Как получить количество дней в месяце в Java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от laney_johnson , 2 года назад

@ransom_homenick В Java есть класс java.time.YearMonth, который предоставляет метод getMonth() для получения экземпляра java.time.Month, который, в свою очередь, предоставляет метод length(boolean leapYear), который возвращает количество дней в месяце. Параметр leapYear определяет, является ли текущий год високосным.


Ниже приведен пример кода, который использует этот метод для получения количества дней в месяце:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import java.time.Year;
import java.time.YearMonth;

public class Main {
    public static void main(String[] args) {
        int year = 2020;
        int month = 2; // Февраль
        boolean isLeapYear = Year.isLeap(year); // Проверка, является ли год високосным
        int daysInMonth = YearMonth.of(year, month).lengthOfMonth(); // Количество дней в месяце
        System.out.println(daysInMonth); // 29
    }
}


Обратите внимание, что месяцы нумеруются в Java с нуля (т.е. январь - 0, февраль - 1, и т.д.), поэтому в примере выше мы используем значение 2 для февраля.

Пользователь

от kenya , год назад

@ransom_homenick 

Приведенный код возвращает количество дней в указанном месяце выбранного года. В данном примере указан год 2020 и месяц февраль (2). Вы также можете изменить значения переменных year и month на нужные вам значения для получения количества дней в других месяцах и годах.