Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Dominando Data e Hora em Java: SimpleDateFormat, Data Atual e Comparação de Datas

Este tutorial abrange essenciais de trabalho com datas e horas em Java, incluindo:

Objeto Date Java representa seguintes componentes:

Dominando Data e Hora em Java: SimpleDateFormat, Data Atual e Comparação de Datas

Computadores suportam muitos parâmetros adicionais relacionados a data, discutidos nas próximas seções.

Exibir Data Atual em Java

Classe java.util.Date do Java provê forma simples de obter data e hora atuais do sistema. Exemplo mínimo:

import java.util.Date;
class ExemploData {
    public static void main(String[] args) {
        Date atual = new Date();
        System.out.println(atual.toString());
    }
}

Saída:

Wed Nov 29 06:36:22 UTC 2017

Saída usa formato padrão toString(). Para apresentar data em layout customizado, precisa formatar explicitamente.

SimpleDateFormat: Parsear e Formatar Datas

Java formata datas usando strings de padrão que mapeiam letras a componentes específicos de data. Tabela de referência:

LetraComponente de Data/HoraExemplo
GDesignador de eraAD
yAno2018
MMês no anoJulho, Jul, 07
wSemana no ano27
WSemana no mês2
DDia no ano189
dDia no mês10
FDia da semana no mês2
ENome do dia na semanaTerça, Ter
uNúmero do dia da semana (1=Seg … 7=Dom)1
aMarcador AM/PMPM
HHora no dia (0-23)0
kHora no dia (1-24)24
KHora em am/pm (0-11)0
hHora em am/pm (1-12)12
mMinuto na hora30
sSegundo no minuto55
SMilisegundo978
zFuso horárioPacific Standard Time; PST; GMT-08:00
ZOffset de fuso horário-0800
XFuso horário-08, -0800, -08:00

Consulte esta tabela sempre que precisar construir string de formato específica.

Usando SimpleDateFormat

Classe SimpleDateFormat permite definir padrão para formatar ou parsear datas. Exemplos:

Dica: Atenção à capitalização – usar M para meses e m para minutos é essencial.

import java.text.SimpleDateFormat;
import java.util.Date;
class TesteFormatoDatas {
    public static void main(String[] args) {
        Date agora = new Date();
        System.out.println(agora);
        String padrao = "hh:mm:ss a dd-MMM-yyyy";
        SimpleDateFormat sdf = new SimpleDateFormat(padrao);
        System.out.println(sdf.format(agora));
    }
}

Saída:

Wed Nov 29 06:31:41 UTC 2017
06:31:41 AM 29-Nov-2017

Comparando Datas

Dominando Data e Hora em Java: SimpleDateFormat, Data Atual e Comparação de Datas

Método mais confiável para comparação de datas em Java é compareTo(), que retorna valor negativo se primeira data anterior, zero se igual, positivo se posterior.

import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
class TesteComparacaoDatas {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
        Date data1 = sdf.parse("20-08-1981");
        Date data2 = sdf.parse("12-10-2012");
        System.out.println("Data1 : " + sdf.format(data1));
        System.out.println("Data2 : " + sdf.format(data2));
        if (data1.compareTo(data2) > 0) {
            System.out.println("Data 1 ocorre após Data 2");
        } else if (data1.compareTo(data2) < 0) {
            System.out.println("Data 1 ocorre antes Data 2");
        } else {
            System.out.println("Ambas datas são iguais");
        }
    }
}

Saída:

Data1 : 20-08-1981
Data2 : 12-10-2012
Data 1 ocorre antes Data 2

Java

  1. Calculando Tensão e Corrente em Circuitos DC Reativos
  2. Obter Data e Hora Atuais em Python: Guia Prático
  3. Python: Obter Hora Atual e Dados de Fuso Horário com Facilidade
  4. Dominando Operadores Java: Tipos, Sintaxe e Exemplos Práticos
  5. Comentários em Java: Tipos, Uso e Boas Práticas
  6. Dominando o Loop for Aprimorado em Java: Sintaxe, Exemplos e Boas Práticas
  7. Dominando Data e Hora em Java: Construtores, Métodos e Boas Práticas
  8. Guia Completo de Data e Hora em C++
  9. Java 10 Lança Versionamento Baseado em Tempo para Atualizações Bianuais Previsíveis
  10. Java 8: A Nova API Robusta de Data e Hora