Количество дней в определенном месяце определенного года?

Как узнать сколько дней в определенном месяце определенного года?

String date = "2010-01-19";
String[] ymd = date.split("-");
int year = Integer.parseInt(ymd[0]);
int month = Integer.parseInt(ymd[1]);
int day = Integer.parseInt(ymd[2]);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR,year);
calendar.set(Calendar.MONTH,month);
int daysQty = calendar.getDaysNumber(); // Something like this
149
задан xingbin 29 April 2018 в 11:46
поделиться

1 ответ

Оптимальное и производительное различие:

public static int daysInMonth(int month, int year) {
    if (month != 2) {
        return 31 - (month - 1) % 7 % 2;
    }
    else {
        if ((year & 3) == 0 && ((year % 25) != 0 || (year & 15) == 0)) { // leap year
            return 29;
        } else {
            return 28;
        }
    }
}

для получения дополнительной информации на проверке алгоритма прыжка здесь

0
ответ дан 23 November 2019 в 22:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: