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 ?
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 ?
Vous pouvez le faire en utilisant SimpleDateFormat
qui est destiné à formater les dates et les heures :
Calendar cal = Calendar.getInstance();
System.out.println(new SimpleDateFormat("MMM").format(cal.getTime()));
C'est la solution que j'ai trouvée pour un projet de classe :
public static String theMonth(int month){
String[] monthNames = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
return monthNames[month];
}
Le numéro que vous entrez provient d'un Calendar.MONTH
appeler.
Si vous avez une interface multi-langue, vous pouvez utiliser getDisplayName
pour afficher le nom du mois avec contrôle de la langue d'affichage.
Voici un exemple d'affichage du nom du mois en anglais, français, arabe et arabe dans un pays spécifique comme "Syrie" :
Calendar c = Calendar.getInstance();
System.out.println(c.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.ENGLISH ) );
System.out.println(c.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.FRANCE ) );
System.out.println(c.getDisplayName(Calendar.MONTH, Calendar.LONG, new Locale("ar") ) );
System.out.println(c.getDisplayName(Calendar.MONTH, Calendar.LONG, new Locale("ar", "SY") ) );
System.out.println(c.getTime().toString());
Le résultat est :
January
janvier
Sat Jan 17 19:31:30 EET 2015
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.