quarta-feira, 28 de dezembro de 2011

java.lang.Date

Anteriormente à especificação JDK 1.1, a classe Date tinha várias funções. Atualmente esta classe representa um instante no tempo contendo data e hora com precisão de até milisegundos. É necessário a utilização de duas classes adicionais DateFormat e Calendar para permitir a formatação da apresentação da data e para realizar a conversão de datas.

Os formatos dos construtores desta classe são:

  • Date()
  • Date(long data)
    • data é um inteiro que representa a quantidade de milisegundos contados a partir de 01/01/1970.

Os outros formatos para os construtores não devem ser utilizados (são considerados deprecated). Para o nosso exemplo utilizarei a classe SimpleDateFormat. Esta classe utiliza um padrão de formatação que é montada como uma string. Existem diversas letras de formatação, que estão resumidas abaixo:



Para colocar um texto que não será interpretado, basta escrevê-lo entre aspas simples ('). Veja no exemplo abaixo como escrevemos as. A repetição das letras gera variações na interpretação do formato pelo Java. Por exemplo, se utilizamos MMM temos o mês em texto na forma de uma abreviatura, se forma MMMM temos por extenso completo, M temos o mês em número, e finalmente MM temos o mês no formato numérico com 2 dígitos.

Vamos ver um exemplo de uma classe simples:


import java.util.Date;
import java.text.SimpleDateFormat;


public class ExemploData {  
     
 public static void main(String[] args) {
   Date Agora = new Date(); // obtem o datastamp da hora da execução


   // impressão usando
   System.out.println("Usando toString = " + Agora.toString());


   // Use a SimpleDateFormat to print the date our way.
   SimpleDateFormat fmt = new SimpleDateFormat ("E dd/MM/yyyy 'as' hh:mm:ss a zzz");
   System.out.println("Usando formatter= " + fmt.format(Agora)); 
   fmt = new SimpleDateFormat ("MMM");
   System.out.println("Mes (abreviado) = " + fmt.format(Agora)); 
   fmt = new SimpleDateFormat ("MMMM");
   System.out.println("Mes (completo)  = " + fmt.format(Agora)); 
 }  
}


O resultado pode ser visto abaixo:



Nenhum comentário:

Postar um comentário