Month
best correct Answer is by staszek делает умное использование потоков. Вот та же идея, но в старомодном синтаксисе вместо Streams, плюс некоторые комментарии.
Month
enum определяет дюжину экземпляров, по одному в месяц в году, пронумерованных 1-12 за январь-декабрь. Метод Month.getValues
возвращает массив из всех двенадцати экземпляров. Мы можем связать этот массив с использованием синтаксиса Java для «расширенного цикла for
», также известного как «для каждого».
Вы можете запросить локализованное название месяца с помощью метода getDisplayName
. Укажите длину TextStyle
и длину Locale
для человеческого языка и культурных норм, используемых при переводе.
TextStyle ts = TextStyle.FULL;
Locale l = Locale.CANADA_FRENCH;
for (Month month : Month.values()) {
int monthNumber = month.getValue(); // 1-12.
String monthName = month.getDisplayName (ts , l);
System.out.println ("month: " + month + " | monthNumber: " + monthNumber + " | monthName: " + monthName);
}
month: JANUARY | monthNumber: 1 | monthName: janvier
month: FEBRUARY | monthNumber: 2 | monthName: février
month: MARCH | monthNumber: 3 | monthName: mars
month: APRIL | monthNumber: 4 | monthName: avril
month: MAY | monthNumber: 5 | monthName: mai
month: JUNE | monthNumber: 6 | monthName: juin
month: JULY | monthNumber: 7 | monthName: juillet
month: AUGUST | monthNumber: 8 | monthName: août
month: SEPTEMBER | monthNumber: 9 | monthName: septembre
month: OCTOBER | monthNumber: 10 | monthName: octobre
month: NOVEMBER | monthNumber: 11 | monthName: novembre
month: DECEMBER | monthNumber: 12 | monthName: décembre
См Oracle Tutorials для:
О java.tim e
Рамка java.time встроена в Java 8 и более поздних версий. Эти классы вытесняют неприятные старые классы времени, такие как java.util.Date
, .Calendar
, & java.text.SimpleDateFormat
.
Проект Joda-Time, теперь в maintenance mode, советует перейти на java.time.
Чтобы узнать больше, см. Oracle Tutorial.И поиск Stack Overflow для многих примеров и объяснений.
Где получить классы java.time?
- Java SE 8 и SE 9, а затем
- Встроенный.
- Часть стандартного Java API с объединенной реализацией.
- Java 9 добавляет некоторые незначительные функции и исправления.
- Java SE 6 и SE 7
- Большая часть функциональности java.time будет обратно портирован на Java 6 & 7 в ThreeTen-Backport.
- Android
- ThreeTenABP Проект адаптирует ThreeTen-Backport (как упоминалось выше) для Android специально.
- См. How to use….
Проект ThreeTen-Extra расширяет java.time с дополнительными классами. Этот проект является доказательством возможных будущих дополнений к java.time. Здесь вы можете найти полезные классы, такие как Interval
, YearWeek
, YearQuarter
и more.
Ну, для одного есть 12 месяцев в году, поэтому вам придется немного его отредактировать. Что вы пробовали до сих пор, помимо этого цикла? –
вы можете сохранить имя месяца в массив и использовать простой 'for' для печати месяцев. –