Countdown

Final Countdown

Faltam dias. Ou segundos.

terça-feira, 24 de março de 2015

#11) Data e Hora

Bom dia!

Hoje a ideia é relatar uma descoberta feita durante o desenvolvimento do projeto do programa Gerenciador de Hyperlinks, o primeiro projeto (projeto Boot) do curso de CES-22, que eu já havia comentado em posts passados.
Link do Wiki do Projeto:
Link do código do Projeto (Versão 1.1):

---//---

[Data e Hora]

Uma das tarefas neste projeto é armazenar a data e hora da última modificação de uma dada Url de um banco de dados. Para esta finalidade, podemos usar algumas classes já prontas em Java, que serão abordadas no tópico de hoje.

1. Classe Date

A classe Date representa um instante no tempo, através do método getTime. Para marcar o tempo, é considerado o número de milissegundos decorridos desde 1º de janeiro de 1970. Essa classe é especialmente útil para calcular diferenças entre datas.
-------------------------------------------\\-----------------------------------------------
package simples;
import java.util.Date;

public class Simples {
    public static void main(String[] args) {
        Date agora = new Date();
        long tempo = agora.getTime();   // Número de milissegundos desde 01/01/1970
        Date novaData = new Date(agora.getTime());
        System.out.println(tempo);    
    }
}
-------------------------------------------\\-----------------------------------------------
Código 1 - Uso da Classe Date

2. Classe DateFormat

A classe DateFormat complementa a classe anterior, formatando a data em uma String com informações sobre a data em um objeto Date, no formato xx/xx/xxxx que utilizamos no cotidiano. Abaixo uma demonstração de como utilizar a classe:
-------------------------------------------\\-----------------------------------------------
package simples;
import java.util.Date;
import java.text.DateFormat;

public class Simples {
    public static void main(String[] args) {
        DateFormat dateformat = DateFormat.getDateInstance(DateFormat.MEDIUM);
        Date agora = new Date();
        long tempo = agora.getTime();  
        Date novaData = new Date(agora.getTime());
        System.out.println(dateformat.format(tempo));  // Data formatada. xx/xx/xxxx
    }
}
-------------------------------------------\\-----------------------------------------------
Código 2 - Uso da Classe DateFormat

3. Classe SimplesDateFormat

A classe SimplesDateFormat permite ao programador criar a sua própria formatação de data, o que pode ser muito vantajoso caso ele queira exibir alguma informação específica e omitir outras. Há toda uma codificação para data e hora, que não abordaremos nesse tópico:

-------------------------------------------\\-----------------------------------------------
package simples;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimplesDateFormat;

public class Simples {
    public static void main(String[] args) {
        String formato1 = "dd/MM/yyyy, hh:mm:ss";
        DateFormat dateFormat1 = new SimpleDateFormat(formato1);
        Date agora = new Date();
        long tempo = agora.getTime();  
        Date novaData = new Date(agora.getTime());
        System.out.println(dateFormat1.format(tempo));
    }
}
-------------------------------------------\\-----------------------------------------------
Código 3 - Uso da Classe SimplesDateFormat

4. Classe Calendar

Mudando um pouco a estrutura de classe utilizada, temos a Classe Calendar, que foi a adotada em nosso projeto pela sua facilidade de se manipular a data numericamente com comandos .set e .get de diferentes parâmetros da data, como o ano, mês, dia, hora e minutos.

-------------------------------------------\\-----------------------------------------------
package simples;
import java.util.Calendar;

public class Simples {
    public static void main(String[] args) {
        String aux = "";
        Calendar data = Calendar.getInstance();
        aux += (1+data.get(Calendar.YEAR));
        System.out.println("Ano que vem será: "+aux);
        System.out.println("Já são "+data.get(Calendar.HOUR)+
                ":"+data.get(Calendar.MINUTE));
    }
}
-------------------------------------------\\-----------------------------------------------
Código 4 - Uso da Classe Calendar

Bem, por hoje é tudo! É uma técnica simples, mas que pode ter a sua utilidade, evitando que o usuário fique digitando a data, evitando erros de entrada e formatação, padronizando o seu programa e agilizando o processo de captura de data.


Nenhum comentário:

Postar um comentário