110 votes

Comment puis-je convertir un nombre Entier en localisées nom du mois en Java?

Je reçois un entier et j'ai besoin de convertir des noms de mois dans différents endroits:

Exemple de paramètres régionaux en-us:
1 -> janvier
2 -> février

Exemple de paramètres régionaux es-mx:
1 -> Enero
2 -> Febrero

233voto

joe Points 7966
import java.text.DateFormatSymbols;
public String getMonth(int month) {
    return new DateFormatSymbols().getMonths()[month-1];
}

34voto

Ilya Lisway Points 139

Vous avez besoin d'utiliser LLLL pour les noms de mois. ceci est documenté dans l' SimpleDateFormat de documents, tels que:

SimpleDateFormat dateFormat = new SimpleDateFormat( "LLLL", Locale.getDefault() );
dateFormat.format( date );

16voto

stevedbrown Points 4656

Je voudrais utiliser SimpleDateFormat. Quelqu'un me corrige si il ya un moyen plus facile de faire un monthed de calendrier même si, je le fais dans le code maintenant et je ne suis pas si sûr.

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;


public String formatMonth(int month, Locale locale) {
    DateFormat formatter = new SimpleDateFormat("MMMM", locale);
    GregorianCalendar calendar = new GregorianCalendar();
    calendar.set(Calendar.MONTH, month-1);
    return formatter.format(calendar.getTime());
}

14voto

Bill the Lizard Points 147311

Voici comment je ferais. Je vais laisser le contrôle de la portée sur l' int month jusqu'à vous.

import java.text.DateFormatSymbols;

public String formatMonth(int month, Locale locale) {
    DateFormatSymbols symbols = new DateFormatSymbols(locale);
    String[] monthNames = symbols.getMonths();
    return monthNames[month - 1];
}

12voto

Terence Points 92

À L'Aide De SimpleDateFormat.

import java.text.SimpleDateFormat;

public String formatMonth(String month) {
    SimpleDateFormat monthParse = new SimpleDateFormat("MM");
    SimpleDateFormat monthDisplay = new SimpleDateFormat("MMMM");
    return monthDisplay.format(monthParse.parse(month));
}


formatMonth("2"); 

Résultat: Février

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