Teoria
O tempo no java é contado por milissegundos. Imagine quando temos que fazer a comparação de duas datas, por exemplo “02/05/2012 às 13:00:00” e “02/09/2013 às 15:32:00”, basta olharmos e identificamos o que ocorreu primeiro mas e o computador?! Ele teria que analisar dia por dia, mês por mês e assim por diante desperdiçando processamento. Esses milissegundos começaram a ser contados a partir do dia 01/01/1970, caso a data seja anterior a essa ela terá um valor negativo.
Durante muito tempo na programação java a única classe utilizada para a manipulação de datas foi a classe Date, porém com o tempo e consequente a evolução da linguagem a classe Date também evoluiu, assim sendo criada a classe Calendar (atualmente a classe Date está praticamente em desuso).
A classe Calendar é uma classe abstrata (ela não pode ser instanciada) contida no pacote java.util que possibilita a conversão e manipulação de datas através de métodos nela contidos. Diferente da classe Date, a classe Calendar nos dá a possibilidade de criarmos diferentes tipos de calendários além do gregoriano, apesar de ser o calendário mais utilizado no mundo.
Criando um novo calendário
Assim como citado no texto a classe calendar é uma classe abstrata, ou seja, não pode ser instanciada, portanto para obter um calendário é necessário usar o método estático getInstance( ) ou através do método new GregorianCalendar( ).
Exemplos de recuperação de data com a classe Calendar:
Conversão
Às vezes é preciso transformar um texto em uma data ou vice versa, para isso abaixo é exibida a função parse e a classe SimpleDateFormat. Geralmente a classe SimpleDateFormat é mais usada quando se trata de formatação de datas, pois já no seu construtor, quando instanciada, permite passar como argumento o formato da data desejada.
Formatação
Para a formatação é utilizada a classe DataFormat que permite a conversão entre dados tipo String para dados do tipo date ("ou vice versa") permitindo seguir um formato, por ser também uma classe abstrata e necessário usar o método getInstance( ).
Métodos Principais
Get e Set
Utilizamos os métodos set e get para inserir ou recuperar informações, respectivamente. No exemplo abaixo definimos uma data: 19/03/2010 (IMPORTANTE: o mês é contado a partir do 0 sendo assim o mês "02" no programa é referente ao mês de março "03") e uma hora qualquer apenas para recuperá-las através do método get.
Abaixo estão os principais métodos get para recuperação da data e das suas unidades.
Abaixo estão os principais métodos get para recuperação da data e das suas unidades.
Roll
Utilizamos o método roll quando queremos manipular uma unidade de data sem que as outras sejam alteradas. No exemplo abaixo, estamos na data 18/05/2014 e adicionamos 10 dias a ela, então passou a ser 28/05/2014, ao adicionarmos mais 10 dias, a data ficou 07/05/2014, pois, ao chegar no máximo de dias do mês a contagem reinicia sem que o mês seja alterado.
Add
![]() |
Entrada |
![]() |
Saída |
Exercícios
1- Por que a classe Calendar não pode ser instanciada?
2- Quando utilizamos o método roll e quando utilizamos o metodo add?
3- Faça um programa que receba uma data qualquer em Calendar (não podendo ser a data atual) e exiba. Depois some 3 anos a essa data e exiba novamente.
4- Faça um programa que receba uma data qualquer em Calendar e exiba essa mesma data no formato original e no formato dd/mm/aaaa.
Resolução
Referências
http://www.devmedia.com.br/trabalhando-com-as-classes-date-calendar-e-simpledateformat-em-java/27401
http://www.tutorialspoint.com/java/util/java_util_calendar.htm
http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html
Caso queira complementar seus estudos, abaixo está um vídeo sobre o que as classes Date e Calendar.
http://www.tutorialspoint.com/java/util/java_util_calendar.htm
http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html
Caso queira complementar seus estudos, abaixo está um vídeo sobre o que as classes Date e Calendar.
Integrantes
Matheus Vassoler - rm72210
Erick Pereira - rm72434
Yuri Campos - rm72384
Nenhum comentário:
Postar um comentário