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.
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