Como converter um mês (número) para seu nome em extenso.
30, abril, 2009
Pessoas, hoje vou dar outra “super” dica. Ta ok, é uma dica simples… mas vou postar porque alguém pode precisar.
O caso de hoje é,
você tem um mês no formato de números (1, 2, 3…12) mas quer apresentar esse mês por extenso (Janeiro, Fevereiro…Dezembro).
E agora, como fazer? É simples, faço um IF ou um SWITCH e pronto!
Bom, vai de desenvolvedor para desenvolvedor mas ai vai a minha dica:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | package br.com.vaniomeurer.blog.dica; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * Dica de como converter um mês que está formatado em numeros para o seu nome * em extenso. * * @author Vânio Meurer (vaninhO) * @since 30/04/2009 */ public class MesConverter { /** * Método que faz a conversão do mês. * * @param mes * Mês no formato MM (Exemplos: 1, 2, 12). * @return O nome do mês. (Exemplos: Janeiro, Fevereiro, Dezembro). * @throws ParseException * Exception lançada caso o parâmetro enviado não esteja no * padrão correto. */ public static String converterParaCompleto(String mes) throws ParseException { // Instância o SimpleDateFormat com o formato MM (esse formato indica o // formato de numeros). SimpleDateFormat sdf = new SimpleDateFormat("MM"); // Faz o parse ("transforma") a String que contêm o mês em um Date. Date mesDate = sdf.parse(mes); // Altera o pattern do SimpleDateFormat. sdf.applyPattern("MMMM"); // Retorna o nome do Mês. return sdf.format(mesDate); } public static void main(String[] args) throws ParseException { System.out.println(MesConverter.converterParaCompleto("01")); //Imprimi Janeiro System.out.println(MesConverter.converterParaCompleto("1")); //Imprimi Janeiro System.out.println(MesConverter.converterParaCompleto("2")); //Imprimi Fevereiro System.out.println(MesConverter.converterParaCompleto("12")); //Imprimi Dezembro } } |
E assim você ainda pode brincar de tradução, mude a linha de número 30 conforme abaixo e veja o que acontece.
30 | SimpleDateFormat sdf = new SimpleDateFormat("MM", new java.util.Locale("en")); |
Por esse post é só pessoal.
Vânio Meurer (vaninhO).