domingo, 18 de maio de 2014

Classe Date – JAVA



Classe Date – JAVA

A classe Date de Java serve para a manipulação de datas com entradas como ano, mês, dia, hora, minuto, segundo, formatação e análise de Strings de uma determinada data(20 de "Setembro" de 1987). Essa classe deve conter os construtores que contém instruções que serão executadas sempre que for instanciado um objeto desta Classe.

Essa classe possui mais de um construtor:
- Um construtor que recebe como parâmetro o ano, o mês e o dia.
- E outro onde são passados como parâmetros: ano, mês, dia, hora, minutos e segundos.

Padrões

- O construtor recebe três parâmetros: ano, mês e dia. Sendo que deve-se diminuir 1900 do anopassado como parâmetro, ou seja, neste caso como queríamos imprimir o ano de 2011, então foipassado como parâmetro o número 111, pois, 2011 - 1900 = 111;
- Os números que representam os meses do ano vão de 0 (zero) até 11 (onze), ou seja, o mês de Janeiro é representado pelo número zero e o mês de Dezembro pelo número onze.
-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
eradesignator
(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/pmmarker
(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)


singlequote
(Literal)


Manipulação
A classe DatePode retornar a data / hora do sistema operacional, mas é capaz de retornar também uma data específica.
Existem várias classes criadas para dividir a responsabilidade de manipular data.
      java.util.Date – relativa a um ponto específico no tempo.
      java. text.DateFormat e java.text.SimpleDateFormat – ambas permitindo converter datas em texto e vice versa.
      java.text.DateFormatSymbols – que permite traduzir os vários elementos de uma data (dia, mês, etc.).
Datas e seus símbolos
A classe java.text.DateFormatSymbols permite lidar, individualmente, com vários elementos de texto que fazem parte da composição de uma data, tais como: dias, meses, abreviações, etc.

As classes de Formatação
A classe java.text.DateFormat é uma classe abstrata de formatação (data para texto) e conversão (texto para data) independente do local. A classe java.text.SimpleDateFormat, é uma subclasse de implementação. Ambas trabalham com objetos do tipo Date.



Formatação Date
        
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:


Usando data convencional  (USA):
Precisamos apenas Importar a classe DATE que já é uma classe existente .
import java.util.Date;//Propiedade usada para usar a classe Date

Date dataConv=new Date();
         System.out.println("Data convencional  : " +dataConv);
         }
}

A saída de execução deste programa será:
Data convencional  : Wed May 14 18:44:32 BRT 2014



Exemplo  Prototipo :



Formatação de Mês e Dias da semana trazendo em formata (BR):
Deve criar um objeto para fazer a formatação e dando a saida junto com a date :
Para trabalhar  com  data existem várias informações como dia da semana(“EEEE”) (“MM”ou “MMM”), Messes.

      Exemplo formatando Messes “MM”:
Parametro:(“ dd/MM/yy” )

SimpleDateFormat M=new SimpleDateFormat("dd/MM/yyyy");
//MM= Mês como digito ex:01/05/14
Date data=new Date();
//Exibindo deve colocar o nome do objeto que ira ser usado
System.out.println("Mês exibido em digitos ->  " +M.format(data));




      Outro exemplo de formatação de Mês MMMM:
Parametro:(“dd/MMMM/yy” )

SimpleDateFormat MS=new SimpleDateFormat("dd/MMM/yyyy");//MMM= Mês como digito ex:01/maio/14
Date data=new Date();
//Exibindo deve colocar o nome do objeto que ira ser usado
System.out.println("Mês exibido em String pelo nome ->"+MS.format(data));


      Exemplo para formatação de dias da semana (“EEEE”)ou(“EE”)
Parametro:( “EEEE”)
SimpleDateFormat Dsemana=new SimpleDateFormat("EEEE");//EEEE= Dia da semana ex:Segunda-feira
SimpleDateFormat Dsemana=new SimpleDateFormat("EE");  //EE= Podendo ter a abreveação do nome ex:SEG
Date data=new Date();
System.out.println("Exibindo dias da semana -> "+Dsemana.format(data));






Formatação de Horas:
Podemos utilizar formatação de horas,minutos e segundos usamos os parâmetros: ("  HH:mm:ss")


SimpleDateFormat hora = new SimpleDateFormat("  HH:mm:ss");//formatando para exibição de horas,minutos e segundo
                   Date d=new Date();
                
                //Exibindo deve colocar o nome do objeto que ira ser usado

                   System.out.println("Hora registrada ->"+hora.format(d));



                                      Exercicios -


1)  (Resolvido).Com base nos conhecimentos adquiridos com o material acima , faça com que o programa mostre apenas a descrição do dia da semana , sem complementos ! 

 Resolução :


package fiap;
import java.util.Date;
public class Data {
       public static void main(String[] args) {
//Instanciar objeto "data".
             Date data = new Date();
//Atribuir a uma variavel "status" APENAS O DIA , que ja retorna da classe Date .
              int status = data.getDay();
//Estrututa de seleção necessária para exibir a descriçao do dia da semana , e não apenas um numero !
             if (status == 1){
                    System.out.println(" Hoje é Segunda ! ");
             }
             else if( status == 2){
                    System.out.println(" Hoe é Terça ! ");
             }
             else if( status == 3){
                    System.out.println(" Hoje é Quarta ! ");
             }
              else if( status == 4){
                    System.out.println(" Hoje é Quinta ! ");
             }
             else if( status == 5){
                    System.out.println(" Hoje é Sexta ! ");
             }
             else if( status == 6){
                    System.out.println(" Hoje é Sábado ! ");
             }
             else if( status == 7){
                    System.out.println("Hoje é Domingo ! ");
             }
       }     
}



2) Edite, compile, execute e explique o funcionamento do código abaixo:


detalhes hoje = new java.util.Date();  ...


println("Hoje é {data hoje}");  ...



                                      Referencias -

sites :



videos :




Grupo Fiapões

            Leonardo Zinanni
            Nathalia Ponce
            Rodrigo Santos

2014




Nenhum comentário:

Postar um comentário