Salve Salve! Galera, hoje venho ensinar alguns recursos do Java como: datas e manipulação. Este post é bem direcionado para quem está começando os estudos com java (lendo o livro da:kathy,deitel etc).
Conforme ja citiei, nao é objetivo do blog apenas atrair os visitantes intermediário, avançado Java (T.I), e sim tentar a cada semana atender a cada nivel, seja aquele que for fazer a certificação, que esteja migrando para java, ou estudando java. Espero gostem do post qualquer critica, sugestão para entrar em contato.
let’s go…
Datas e Formatação.
Para a manipulação de datas temos a classe Date, porém essa aqui os seus métodos foram bastante depreciados, por que é uma “Mão na roda”, tentar manipular datas coma essa classe, mas a usaremos junto com a class Calendar que tem métodos mais eficientes.
Antes de começar algumas dicas:
– o argumento do construtor da class Date somente aceita long (não invente de colocar float ou double).
– se deixar o construtor vazio ele mostra a data atual.
Dedos nos teclados e vamos lá:
import java.util.Date;
public class Dat {
public static void main(String[] args) {
Date d = new Date();
System.out.println(d.toString());
//exibi a hora atual,mes,dia e ano
}}
Prontos exibiram a data atual. Agora vamos manipular essa data:
import java.util.Calendar;
import java.util.Date;
public class Calend {
public static void main(String[] args) {
Date d = new Date();
Calendar c = Calendar.getInstance();
/*digo que minha variável de referência Calendar vai ser configurada com o valor da data, ou seja, data atual já que temos ().*/
c.setTime(d);
//add 1 mes
c.add(Calendar.MONTH,1);
//add 1 dia
c.add(Calendar.DAY_OF_WEEK,1);
//aqui pego o valor alterado e digo que meu objeto d(Date) vai receber ele
d=c.getTime();
System.out.println(d.toString());
}
/* ele vai exibir que dia vai cair à data do dia do mês seguinte */}
Agora vamos entender a class Calendar:
– ela é uma class abstract (abstrata), então não pode criar instancia dessa classe usando new. Já que algo abstrato não tem lógica usar o new, já que a finalidade do new é para aquilo que é concreto.
-Então usamos um método de fábrica que criar uma instancia da class Calendar onde posso chamar os métodos estáticos para manipular minha data.
-Essa parte aqui é mais importante vamos formatar as datas. O que você quer dizer com formatar Camilo? É colocar as datas como aprendemos no colégio, “07 de junho de 2007, 06/06/07 etc.”
Usando a class DateFormat – é essa classe que vai nos auxiliar na formatação de datas, é simples de entender essa classe. Somente para lembrar, ela segue a mesma regra da classe Calendar é abstract. Ou seja, vai usar um método de fábrica para instanciar um objeto (não usar new).
import java.util.Date;
import java.text.DateFormat;
public class DatFormat {
public static void main(String[] args) {
Date d = new Date();
//class DateFormat abstract
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);
//imprime a data formatada com o estilo da class DateFormat(df)
System.out.println(df.format(d));
}}
Estilos da class DateFormat:
SHORT,MEDIUM,LONG,FULL.
Para melhor compreensão nada melhor que a prática, então é só criar pequenos programas usando datas, e ver que o código em si não é nem 10 linhas para ter uma data no seu programa. Teste os outros estilos, MEDIUM, LONG, FULL e perceba a diferença.
Algumas dicas (pode ser implementadas no prompt de comando):
– se você sabe manipular arquivos crie um programa onde grava a data que o arquivo foi criado.
– faça um programa que exibe a data em sua tela inicial e quando for fechar o programa também
– fala um programa onde você possa monitorar quanto tempo ele ficou rodando. Ex.: O usuário executou e no final exibir o tempo q ele ficou usando o programa.
Eu prefiro usar SimpleDateFormat.
Muito mais facil. 😀