Month.FEBRUARY.getValue() // February → 2.
2
Подробности
Ответа на этот вопрос Jon Skeet .
Теперь у нас есть современная замена для этих неприятных старых устаревших классов времени: классы java.time .
java.time.Month
Среди этих классов есть
Month
перечисление . Перечисление содержит один или несколько предопределенных объектов, объекты, которые автоматически создаются при загрузке класса. НаMonth
у нас есть дюжина таких объектов, каждая из которых имеет имя:JANUARY
,FEBRUARY
,MARCH
и т. Д. Каждая из них является константой классаstatic final public
. Вы можете использовать и передавать эти объекты в любом месте вашего кода. Пример:someMethod( Month.AUGUST )
К счастью, они имеют правильную нумерацию, 1-12, где 1 - январь, а 12 - декабрь.
Получить объект
Month
для определенного месяца ( 1-12).Month month = Month.of( 2 ); // 2 → February.
. Идя в другом направлении, спросите объект
Month
для его номера месяца.int monthNumber = Month.FEBRUARY.getValue(); // February → 2.
Многие другие удобные методы для этого класса, такие как зная количество дней в каждом месяце . Класс может даже генерировать локализованное имя месяца.
Вы можете получить локализованное имя месяца в разных длинах или аббревиатурах.
String output = Month.FEBRUARY.getDisplayName( TextStyle.FULL , Locale.CANADA_FRENCH );
février
Кроме того, вы должны передавать объекты этого перечисления вокруг своей базы кода, а не просто целые числа. Это обеспечивает безопасность типов, обеспечивает допустимый диапазон значений и делает ваш код более самодокументированным. См. Учебник Oracle , если он не знаком с удивительно мощным средством перечисления в Java.
Вы также можете найти полезные
Year
иYearMonth
.О java.time
Структура java.time встроена в Java 8 и более поздние версии. Эти классы вытесняют неприятные старые классы времени legacy , такие как
java.util.Date
,.Calendar
и & amp;java.text.SimpleDateFormat
.Проект Joda-Time , теперь в режиме обслуживания , советует перейти на java.time.
Чтобы узнать больше, см. учебное пособие Oracle . И поиск Stack Overflow для многих примеров и объяснений. Спецификация JSR 310 .
Где получить классы java.time?
- Java SE 8 и SE 9 и более поздние версии. Часть стандартного Java API с интегрированной реализацией. Java 9 добавляет некоторые незначительные функции и исправления.
- Java SE 6 и SE 7 Большая часть функций java.time возвращается в Java 6 & amp; 7 в ThreeTen-Backport .
- Android Проект ThreeTenABP адаптирует ThreeTen-Backport (упомянутый выше) специально для Android. См. Как использовать ... .
Проект ThreeTen-Extra расширяет java.time с дополнительными классами. Этот проект является доказательством возможных будущих дополнений к java.time. Здесь вы можете найти полезные классы, такие как
Interval
,YearWeek
,YearQuarter
и more .
Недостающее возвращение действительно было проблемой. Причина наличия пустой страницы со словом «Загрузка ...» на ней будет находиться в вашем списке. Html.twig. Но для решения этой проблемы вам нужно предоставить больше кода.