Data por Extenso em uma Aplicação Java

Veja neste artigo como definir uma data por extenso em uma aplicação Java através de funções implementadas para retornar o nome de um mês e o dia da semana. Também foram utilizados na aplicação de exemplo os recursos da linguagem para retornar a data do sistema operacional (java.util.Date()); para extrair os atributos dia, mês e ano de uma data (métodos getDate(), getMonth() e gerYear(), respectivamente); e, para retornar o dia da semana (Calendar.DAY_OF_WEEK).

Caros Amigos,

Pretendo demonstrar neste artigo uma aplicação Java para definir uma data por extenso obtendo como resultado, por exemplo: Pato Branco, 6 de janeiro de 2012 (sexta-feira).

Implementar a classe principal Java Exemplo como demonstrado a seguir:


import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Scanner; public class Exemplo { public static void main(String[] args) { Scanner ler = new Scanner(System.in); String s; System.out.printf("Informe o nome da Cidade:\n"); s = ler.nextLine(); System.out.printf("\nResultado:\n"); // new java.util.Date = data atual (data do sistema operacional) System.out.printf("%s\n", DataPorExtenso(s, new java.util.Date())); } // Retorna o nome do mês. // Parâmetros: "i" = índice para o vetor "mes" // "tipo" = 0 para retornar o nome completo e // 1 para o nome abreviado do mês. public static String NomeDoMes(int i, int tipo) { String mes[] = {"janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro"}; // Java é uma linguagem com vetores zero-based: as posições do vetor // iniciam a numeração a partir do valor 0 (0-janeiro, 1-fevereiro, ...) if (tipo == 0) return(mes[i-1]); // extenso // o método "substring" retorna os 3 primeiros caracteres de "mes[i-1]" else return(mes[i-1].substring(0, 3)); // abreviado } // Retorna o dia da semana. // Parâmetros: "i" = índice para o vetor "diasem" // "tipo" = 0 para retornar o nome completo e // 1 para o nome abreviado do dia da semana. public static String DiaDaSemana(int i, int tipo) { String diasem[] = {"domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"}; if (tipo == 0) return(diasem[i-1]); // extenso // o método "substring" retorna os 3 primeiros caracteres de "diasem[i]" else return(diasem[i-1].substring(0, 3)); } // Retorna a data por extenso. // Parâmetros: "cidade" = nome da cidade; e, "dt" = data. public static String DataPorExtenso(String cidade, java.util.Date dt) { // retorna os valores ano, mês e dia da variável "dt" int d = dt.getDate(); int m = dt.getMonth()+1; int a = dt.getYear()+1900; // retorna o dia da semana: 1=domingo, 2=segunda-feira, ..., 7=sábado Calendar data = new GregorianCalendar(a, m-1, d); int ds = data.get(Calendar.DAY_OF_WEEK); return(cidade + ", " + d + " de " + NomeDoMes(m, 0) + " de " + a + " (" + DiaDaSemana(ds, 1) + ")."); } }
Ao executar a aplicação deve-se informar o nome da cidade e pressionar Enter e o seguinte resultado será exibido:


Os métodos implementados: NomeDoMes, DiaDaSemana e DataPorExtenso, poderiam ser disponibilizados em um pacote (package). Os pacotes representam no Java a forma de disponibilizar um conjunto de métodos destinados a solucionar uma série de tarefas bastante corriqueiras com o propósito da "reutilização de código".

Veja também:
1) Data por Extenso em uma Aplicação Delphi

2) O que são vetores: Vetores em Java - Parte 1
3) Trabalhando com vetores: Vetores em Java - Parte 2
4) Matrizes: Vetores em Java - Parte 3

5) Trabalhando com string: String em Java - Parte 1
6) Métodos da Classe String: String em Java - Parte 2
7) Métodos da Classe Character: String em Java - Parte 3

Obrigado e um abraço.

Prof. Omero Francisco Bertol (http://www.pb.utfpr.edu.br/omero/)
Aplicações Java (http://www.pb.utfpr.edu.br/omero/Java/Fontes.HTM)
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados