Saltar al contenido

¿Cómo puedo convertir un número entero en un nombre de mes localizado en Java?

No dejes de compartir nuestros post y códigos en tus redes, apóyanos para hacer crecer esta comunidad.

Solución:

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

Debe usar LLLL para nombres de meses independientes. esto está documentado en el SimpleDateFormat documentación, tales como:

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

tl; dr

Month                             // Enum class, predefining and naming a dozen objects, one for each month of the year. 
.of( 12 )                         // Retrieving one of the enum objects by number, 1-12. 
.getDisplayName(
    TextStyle.FULL_STANDALONE , 
    Locale.CANADA_FRENCH          // Locale determines the human language and cultural norms used in localizing. 
)

java.tiempo

Desde Java 1.8 (o 1.7 y 1.6 con el ThreeTen-Backport) puedes usar esto:

Month.of(integerMonth).getDisplayName(TextStyle.FULL_STANDALONE, locale);

Tenga en cuenta que integerMonth está basado en 1, es decir, 1 es para enero. El rango es siempre del 1 al 12 para enero-diciembre (es decir, solo calendario gregoriano).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *