sábado, 23 de novembro de 2024
Home
Artigos
Banco de Dados
Access
Firebird
Microsoft SQL Server
MySql
Oracle
Sybase
BI
QlikView
Dicas de Internet
e-business
Hardware
Multimídia
Flash
Programação
.NET/ASP.NET
.NET/C#
.NET/Framework
.NET/VB.NET
ASP
C/C++
Clipper
Cobol
CSS
Delphi
Java
Javascript
JSP
Palm
Perl
PHP
Shell
Visual Basic
WAP
Redes
Segurança
Servidores E-mail
Servidores Web
Apache
Microsoft IIS
Sistemas Operacionais
AIX
DOS
HPUX
Linux
Palm OS
Solaris
True64
Windows 7
Windows 9X
Windows NT
Windows Vista
Windows XP
Software Review
PC
Storages
Veritas VM
Conteúdo atual do site:
[807] ítens, entre artigos, funções e documentos.
Pesquisa Rápida:
Últimos 3 acessos:
Alexandre Neves 03/03/2015 11:08:01 167 acesso(s) alexandre neves 03/03/2015 11:06:42 1 acesso(s) Marcelo Torres 21/01/2015 15:24:53 61 acesso(s)
Opções:
Listagem completa Listagem simples
Ranking Colaboradores:
Adenilton Rodrigues - [304] Alexandre Neves - [61] Douglas Freire - [54] Marcelo Giovanni - [53] Marcelo Torres - [43] Angelita Bernardes - [31] Addy Magalhães Cunha - [28] Manuel Fraguas - [24] Ludmila Valadares - [20] Marcelo Capelo - [18]
Formatando Datas com Java
Trabalhando com datas em Java Programação: veja como classes de Java resolvem o problema da apresentação de datas para o usuário, onde ele estiver no mundo. Um das coisas mais trabalhosas em qualquer linguagem de programação são as datas. Aquelas que usam bancos de dados então pedem sacrifício maior ainda. Formatar a saída destes dados também pode ser um problema quando a formatação depende do local do usuário - ou seja, na internet estamos falando do mundo inteiro. A linguagem Java fornece classes que oferecem um bom conjunto de métodos para manipular o tratamento de datas para sua apresentação. Apesar deste ser um tópico resolvido pelo Java desde a versão 1.1 e já ter sido discutido outras vezes, sempre é bom relembrar e ver como estas poderosas classes podem auxiliar em seus sistema. O principais objetos para manipulação de datas pertencem aos pacotes java.util e java.text. São eles: java.util.Date java.text.DateFormat java.text.SimpleDateFormat A classe Date representa a data corrente do sistema, em sua forma mais nativa. A classe DateFormat é abstrata e fornece métodos para manipular a formatação de datas variando a forma de apresentação, indo de curta a longa, e sensitivo ao local do usuário. A classe SimpleDateFormat é uma classe concreta, subclasse de DateFormat e tem métodos concretos para formatar e fazer parse de data de forma sensitiva. Para instanciar um objeto Date é muito simples: Date hoje = new Date(); System.out.println ("A data de hoje é: "+ hoje); A saída de execução deste programa será: A data de hoje é: Mon Aug 14 22:45:20 GMT-03:00 2000 Perceba que nesta simples data você tem diversas informações como dia da semana (Mon), mês (Aug) dia, hora e outras informações como o timezone. Para formatar a representação de um objeto Date podemos utilizar a classe SimpleDateFormat.Esta classe fornece um conjunto de caracteres padrão para formatação do objeto Date. Veja abaixo uma cópia retirada da documentação do Java onde cada campo de uma data tem uma representação String. Símbolo Significado Apresentação Exemplo G era designator (Text) AD y year (Number) 1996 M month in year (Text & Number) July & 07 d day in month (Number) 10 h hour in am/pm (1~12) (Number) 12 H hour in day (0~23) (Number) 0 m minute in hour (Number) 30 s second in minute (Number) 55 S millisecond (Number) 978 E day in week (Text) Tuesday D day in year (Number) 189 F day of week in month (Number) 2 (2nd Wed in July) w week in year (Number) 27 W week in month (Number) 2 a am/pm marker (Text) PM k hour in day (1~24) (Number) 24 K hour in am/pm (0~11) (Number) 0 z time zone (Text) Pacific Standard Time escape for text (Delimiter) single quote (Literal) Podemos citar alguns exemplos de formatações de datas: dd/MM/yy = 25/05/00 dd/MMM/yyyy = 25/MAI/2000 Até 3 dígitos você tem um valor resumido, acima de quatro a representação de strings é sem abreviação. Neste exemplo abaixo você pode conferir como é simples utilizar o objeto SimpleDateFormat para melhorar a saída dos seus programas Java: String formato = "dd/MM/yyyy"; SimpleDateFormat formatter = new SimpleDateFormat(formato); System.out.println("A data formatada é: "+ formatter.format(hoje)); formatter = new SimpleDateFormat("EEEE, dd de MMMM de yyyy"); System.out.println("Ou, hoje é: "+ formatter.format(hoje)); A saída da execução deste programa é: A data de hoje é: Mon Aug 14 23:22:56 GMT-03:00 2000 A data formatada é: 14/08/2000 Ou, hoje é: Segunda-feira, 14 de Agosto de 2000 A classe SimpleDate pode ser usada para formatar automaticamente a representação de um objeto Date para a data do seu usuário internet. O fragmento de código abaixo apresenta a utilização desta Classe: Locale brasil = new Locale ("pt","BR"); DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, brasil); System.out.println("Hoje no Brasil: "+ df.format(hoje)); df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE); System.out.println("Aujourdhui au France: "+ df.format(hoje)); df = DateFormat.getDateInstance(DateFormat.LONG, Locale.US); System.out.println("Today in USA: "+ df.format(hoje)); Após criarmos um objeto Locale que representa o Brasil podemos instanciar um objeto DateFormat e utilizar os métodos para formatação sensitiva a localidade.O resultado desta porção deste programa é: Hoje no Brasil: 15 de Agosto de 2000 Aujourdhui au France: 15 août 2000 Today in USA: August 15, 2000 Abaixo você tem o exemplo completo deste programa, numa versão um pouco melhorada. Na próxima dica você conhecerá métodos muito úteis para aplicações que precisam calcular datas de entregas baseadas em períodos, adicionar 15 dias numa data por exemplo, ou saber qual é o último dia deste mês, além de poder converter datas em String para objetos Date. Nos vemos aqui, no [web insider], na próxima dica. import java.util.*; import java.text.*; import java.awt.*; public class UsingDate extends Frame { public UsingDate() { super("Manipulando Datas com Java"); this.setSize(500,400); TextArea result = new TextArea(); result.setEditable(false); Date hoje = new Date(); result.append(""+"A data de hoje sem formatação é: "+ hoje); String formato = "dd/MM/yyyy"; SimpleDateFormat formatter = new SimpleDateFormat(formato); result.append(""+"A data formatada é: "+ formatter.format(hoje)); formatter = new SimpleDateFormat("EEEE, dd de MMMM de yyyy"); result.append(""+"Ou, hoje é: "+ formatter.format(hoje)); Locale brasil = new Locale ("pt","BR"); DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, brasil); result.append(""+"Hoje no Brasil: "+ df.format(hoje)); df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE); result.append(""+"Aujourdhui au France: "+ df.format(hoje)); df = DateFormat.getDateInstance(DateFormat.LONG, Locale.US); result.append(""+"Today in USA: "+ df.format(hoje)); add(result); this.show(); } public static void main(String arg[]) { new UsingDate(); } } Quebra-Linha Colaborador..: Israel Santiago Categoria(s).: Java; Versão.......: 1 Data.........: 19/06/2002 13:12:28 Visualizado..: 13276 vezes Fonte........: Boletim Dicas Java - Sua dose diária de Java
Israel Santiago
Últimos Artigos deste colaborador Utilizando arquivo de propriedades - 27/06/2002 09:02:55 Obtendo informações sobre o ResultSet - 20/06/2002 17:31:44 Fazendo Upload de Arquivos com Servlets Java - 19/06/2002 17:45:47
Últimos Artigos desta categoria Teste de teclado feito em Java - 10/07/2007 16:01:14 Exemplo de Theads em Java - 08/09/2004 18:20:26 Software que faz as Telas de Swing em Java p/ Voce - 08/09/2004 18:25:12
140 pessoa(s) on-line neste site.