Как вы находите количество дней в месяце на Java?
Найти количество дней в месяц в Java
Ответ 1
Задайте год и месяц для объекта Календаря, а затем используйте getActualMaximum
, чтобы вернуть последний день:
calendar.getActualMaximum(Calendar.DAY_OF_MONTH)
Ответ 2
java.time.Month
Использование классов java.time, java.time.Month
перечисление в частности.
int days = Month.FEBRUARY.minLength(); // 28
int days = Month.FEBRUARY.maxLength(); // 29
int days = Month.FEBRUARY.length( boolean_consider_leap_year ); // TRUE → 29, FALSE → 28.
Вы можете получить объект Month
для номера месяца, 1-12, что означает январь-декабрь.
int monthNumber = Month.FEBRUARY.getValue();
О java.time
Структура java.time встроена в Java 8 и более поздних версий. Эти классы вытесняют неприятные старые классы времени, такие как java.util.Date
, .Calendar
и java.text.SimpleDateFormat
.
Проект Joda-Time, теперь режим обслуживания, советует перейти на java.time.
Чтобы узнать больше, см. Учебник Oracle. И поиск Qaru для многих примеров и объяснений.
Большая часть функций java.time возвращается на Java 6 и 7 в ThreeTen-Backport и далее адаптируется к Android в ThreeTenABP (см. Как использовать...).
Проект ThreeTen-Extra расширяет java.time с помощью дополнительных классов. Этот проект является доказательством возможных будущих дополнений к java.time. Здесь вы можете найти полезные классы, такие как Interval
, YearWeek
, YearQuarter
и т.д.
Ответ 3
Похоже, домашнее задание. Поиск Calendar.