Utilizando recursos do Java para formatação de datas

Para formatarmos elementos de uma data é necessário o uso do DateFormat...

Para formatarmos elementos de uma data é necessário o uso do DateFormat, podemos com ela definir a forma como queremos que seja exibido uma determinada data, por exemplo: “dia/mês/ano” ou “ano-mês-dia”, podemos também converter uma data para texto e vice versa independente da posição geográfica, Internamente DateFormat o número de milissegundos decorridos desde 01/01/1900.

A Classe DateFormat não traz métodos adequados para conversão para texto, mas isso pode ser sanado com o uso de SimpleDateFormat.

Veja exemplos abaixo:

package javaapplication1; import java.text.DateFormat; import java.util.Date; /** * @author claudios */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // Imprime a data no formato Padrão System.out.println(DateFormat.getDateInstance().format(new Date())); } } package javaapplication1; import java.text.DateFormat; import java.util.Date; /** * @author claudios */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // Imprime a data no formato curto System.out.println(DateFormat.getDateInstance(DateFormat.SHORT).format(new Date())); } } package javaapplication1; import java.text.DateFormat; import java.util.Date; /** * @author claudios */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // Imprime a data no formato medio System.out.println(DateFormat.getDateInstance(DateFormat.MEDIUM).format(new Date())); } } package javaapplication1; import java.text.DateFormat; import java.util.Date; /** * @author claudios */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // Imprime a data no formato longo System.out.println(DateFormat.getDateInstance(DateFormat.LONG).format(new Date())); } } package javaapplication1; import java.text.DateFormat; import java.util.Date; /** * @author claudios */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // Imprime a data no formato completo System.out.println(DateFormat.getDateInstance(DateFormat.FULL).format(new Date())); } }

O Resultado deveram se parecer com os que são mostrados abaixo :

* 31/05/2007 * 31/05/07 * 31/05/2007 * 31 de Maio de 2007 * Quinta-feira, 31 de Maio de 2007

Formatação Personalizada

A classe SimpleDateFormat possibilita que você possa fornecer uma String de formatação para data/hora com letras que tem significados especiais como mostra a Tabela 1.

Símbolo Significado Exemplo

G

Y

Yyyy

M

MMM

MMMM

w

W

D

d

F

E

EEEE

a

H

k

K

h

m

s

S

z

Z

Era

Ano

Ano

Mês do ano

Mês do ano

Semana do ano

Semana do mês

Dia do ano

Dia do mês

Dia do ano

Dia do mês

Dia da semana no mês

Dia da semana

Dia da semana

AM/PM

Hora (0-23)

Hora do dia(1-24)

Hora am/pm(0-11)

Hora am/pm(1-12)

Minuto

segundo

time zone

time zone (RFC 822)

DC

04

2004

02

Fev

Fevereiro

12

3

77

17

3

Qua

quarta-feira

PM

19

19

7

7

17

16

16

BRT

-0300

O uso de SimpleDateFormat permite também o uso de formatos personalizados, veja o exemplo abaixo:

package javaapplication1; import java.text.*; import java.util.Date; /** * @author claudios */ public class Outra { public Outra() { } public static void main(String args[]){ System.out.println(new SimpleDateFormat("dd 'de' MMMM 'de' yyyy").format(new Date())); // Resultado é : 31 de Maio de 2007 } }

Caso seja preciso inserir algum texto dentro do texto de formação deve-se utilizar apóstrofos como delimitadores.

Por hoje é só pessoal em breve voltaremos com mais exemplos de formatação, não apenas de data, mas também de formatos monetários.

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados