Data em Java

Manipulando datas e horas

Existe apenas uma função para que se possa obter a data e a hora. É a função Calendar.getInstance(). Esta funão devolve data e hora no formanto: Dia da semana, Nome do mês, Dia do mês, Hora:Minuto:Segundo e Ano

Ex:

Fri May 24 16:58:02 1996

Para se obter os dados separadamente, existem os seguintes métodos:



No exemplo 1 abaixo obteremos o dia da semana e as horas. Para tal, utilizaremos a variável DataToda para armazenar data e hora.

Arquivo ExemploJava.java

/*
Não use getYear, getDay (Como no Javascript).
a) São métodos "deprecated" - ou seja, não devem ser usados. Em vez disso, use java.util.Calendar.

b) Você não leu a documentação direito. getYear lhe volta o ano menos 1900, ou seja, para 2006 ele lhe retorna 2006 - 1900 = 106. getDay volta o dia da semana, sendo 0 = Domingo. E getMonth lhe retorna 0 para janeiro, 1 para fevereiro, e assim por diante.

c) Quando a linguagem Java foi definida, só existia o java.util.Date, e ela era bem boboca (o próprio James Gosling que a escreveu, e ele não quis pôr um monte de frescuras nela)
Na versão 1.1 alguém na Sun comprou um monte de código fonte da Taligent, uma joint-venture entre a IBM, a Apple e mais algumas companhias. Nesse pacotão veio a classe java.util.Calendar, que é terrivelmente complicada, e para encurtar a conversa eles disseram que tínhamos de usar java.util.Date E java.util.Calendar, sendo que aquelas coisas tipo "getDate", "getMonth", "getYear" que existem em java.util.Date não deveriam mais ser usadas.
*/

import java.util.Calendar;

public class ExemploJava {


    public static void main(String[] args) {
        String Texto;
        Texto = "";


        Calendar DataToda = Calendar.getInstance();

        int Dia_do_mes = DataToda.get(Calendar.DATE);
        int Dia_da_semana = DataToda.get(Calendar.DAY_OF_WEEK);
        int Mes = DataToda.get(Calendar.MONTH);
        int Ano = DataToda.get(Calendar.YEAR);

        // ---------------------------------------
        int Horas = DataToda.get(Calendar.HOUR_OF_DAY);
        int Minutos = DataToda.get(Calendar.MINUTE);
        int Segundos = DataToda.get(Calendar.SECOND);
        // ---------------------------------------
        String semana[];
        semana = new String[8];
        semana[0] = "";
        semana[1] = "Domingo";
        semana[2] = "Segunda";
        semana[3] = "Terça";
        semana[4] = "Quarta";
        semana[5] = "Quinta";
        semana[6] = "Sexta";
        semana[7] = "Sabado";
        String Semana_atual = semana[Dia_da_semana];
        //-------------------------
        String Mes2[];
        Mes2 = new String[12];
        Mes2[0] = "Janeiro";
        Mes2[1] = "Fevereiro";
        Mes2[2] = "Março";
        Mes2[3] = "Abril";
        Mes2[4] = "Maio";
        Mes2[5] = "Junho";
        Mes2[6] = "Julho";
        Mes2[7] = "Agosto";
        Mes2[8] = "Setembro";
        Mes2[9] = "Outubro";
        Mes2[10] = "Novembro";
        Mes2[11] = "Desembro";
        String Mes_atual = Mes2[Mes];
        Texto += Semana_atual + ", " + Dia_do_mes + " de " + Mes_atual + " de " + Ano;
        Texto += "\n";
        Texto += "São: " + Horas + " horas, " + Minutos + " minutos e " + Segundos + " segundos.";

        System.out.println(Texto);
    }
}

Resultado:

C:\ExemploJava>javac ExemploJava.java

C:\ExemploJava>java ExemploJava
Sabado, 27 de Fevereiro de 2016
São: 6 horas, 55 minutos e 27 segundos.

C:\ExemploJava>

exemplo 4: alterando a data

Para criar uma variável tipo Date com o conteúdo informado pela aplicação, existe o método set. Os mas importantes são:

Você pode simplificar as datas veja:

Tanto pode usar esta forma quanto da outra.

Arquivo ExemploJava.java

/*
Não use getYear, getDay (Como no Javascript).
a) São métodos "deprecated" - ou seja, não devem ser usados. Em vez disso, use java.util.Calendar.

b) Você não leu a documentação direito. getYear lhe volta o ano menos 1900, ou seja, para 2006 ele lhe retorna 2006 - 1900 = 106. getDay volta o dia da semana, sendo 0 = Domingo. E getMonth lhe retorna 0 para janeiro, 1 para fevereiro, e assim por diante.

c) Quando a linguagem Java foi definida, só existia o java.util.Date, e ela era bem boboca (o próprio James Gosling que a escreveu, e ele não quis pôr um monte de frescuras nela)
Na versão 1.1 alguém na Sun comprou um monte de código fonte da Taligent, uma joint-venture entre a IBM, a Apple e mais algumas companhias. Nesse pacotão veio a classe java.util.Calendar, que é terrivelmente complicada, e para encurtar a conversa eles disseram que tínhamos de usar java.util.Date E java.util.Calendar, sendo que aquelas coisas tipo "getDate", "getMonth", "getYear" que existem em java.util.Date não deveriam mais ser usadas.
*/

import java.util.Calendar;

public class ExemploJava {


    public static void main(String[] args) {
        String Texto;
        Texto = "";

        Calendar DataToda = Calendar.getInstance();

        int x_dia = 28;
        int x_mes = 4;
        int x_ano = 1997;

        // Tando pode usar desta forma:
        // DataToda.set(x_ano, x_mes, x_dia);
        //Quanto desta outra forma:
        DataToda.set(java.util.Calendar.YEAR, x_ano);
        DataToda.set(java.util.Calendar.MONTH, x_mes);
        DataToda.set(java.util.Calendar.DATE, x_dia);

        // ---------------------------------------
        int Dia_do_mes = DataToda.get(Calendar.DATE);
        int Dia_da_semana = DataToda.get(Calendar.DAY_OF_WEEK);
        int Mes = DataToda.get(Calendar.MONTH);
        int Ano = DataToda.get(Calendar.YEAR);

        String semana[];
        semana = new String[8];
        semana[0] = "";
        semana[1] = "Domingo";
        semana[2] = "Segunda";
        semana[3] = "Terça";
        semana[4] = "Quarta";
        semana[5] = "Quinta";
        semana[6] = "Sexta";
        semana[7] = "Sabado";
        String Semana_atual = semana[Dia_da_semana];
        //-------------------------
        String Mes2[];
        Mes2 = new String[12];
        Mes2[0] = "Janeiro";
        Mes2[1] = "Fevereiro";
        Mes2[2] = "Março";
        Mes2[3] = "Abril";
        Mes2[4] = "Maio";
        Mes2[5] = "Junho";
        Mes2[6] = "Julho";
        Mes2[7] = "Agosto";
        Mes2[8] = "Setembro";
        Mes2[9] = "Outubro";
        Mes2[10] = "Novembro";
        Mes2[11] = "Desembro";
        String Mes_atual = Mes2[Mes];
        Texto += Semana_atual + ", " + Dia_do_mes + " de " + Mes_atual + " de " + Ano;

        System.out.println(Texto);
    }
}

Resultado:

C:\ExemploJava>javac ExemploJava.java

C:\ExemploJava>java ExemploJava
Quarta, 28 de Maio de 1997

C:\ExemploJava>