111 votes

Comment puis-je obtenir le nom du mois dans le calendrier ?

Y a-t-il un oneliner pour obtenir le nom du mois quand on le connaît :

int monthNumber  = calendar.get(Calendar.MONTH)

Ou quel est le moyen le plus simple ?

3voto

JibinNajeeb Points 154

J'ai trouvé cela beaucoup plus facile( https://docs.oracle.com/javase/tutorial/datetime/iso/enum.html )

private void getCalendarMonth(Date date) {      
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    Month month = Month.of(calendar.get(Calendar.MONTH));       
    Locale locale = Locale.getDefault();
    System.out.println(month.getDisplayName(TextStyle.FULL, locale));
    System.out.println(month.getDisplayName(TextStyle.NARROW, locale));
    System.out.println(month.getDisplayName(TextStyle.SHORT, locale));
}

2voto

Whirvis Points 161

Vous pouvez l'obtenir sur une ligne comme celle-ci :

String monthName = new DataFormatSymbols.getMonths()[cal.get(Calendar.MONTH)]

2voto

jhpg Points 364

Cela fonctionne pour moi :

String getMonthName(int monthNumber) {
    String[] months = new DateFormatSymbols().getMonths();
    int n = monthNumber-1;
    return (n >= 0 && n <= 11) ? months[n] : "wrong number";
}

Aux retours "September" avec une seule ligne :

String month = getMonthName(9);

2voto

kushal baldev Points 121

Un moyen :

Nous avons Month API en Java ( java.time.Month ). Nous pouvons obtenir en utilisant Month.of(month);

Ici, le Month sont indexés en tant que nombres, donc vous pouvez fournir par Month.JANUARY ou fournir un indice dans l'API ci-dessus tel que 1, 2, 3, 4.

Deuxième voie :

ZonedDateTime.now().getMonth();

Il est disponible dans java.time.ZonedDateTime .

2voto

Milad jalali Points 409
Calender cal = Calendar.getInstance(Locale.ENGLISH)
String[] mons = new DateFormatSymbols(Locale.ENGLISH).getShortMonths();
int m = cal.get(Calendar.MONTH);
String mName = mons[m];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X