Introdução a data e hora em Java

Entrada/Saída e Streams em Java

Alex Liu

Software Development Engineer

Criando objetos de data

  • A classe LocalDate
    • Representa datas sem hora
  • A classe LocalTime
    • Representa horas sem data
  • Importe as classes necessárias
import java.time.LocalDate;
import java.time.LocalTime;
Entrada/Saída e Streams em Java

Criando objetos de data (continuação)

  • Obtenha a data e a hora atuais com .now()
    LocalDate date = LocalDate.now();
    LocalTime time = LocalTime.now();
    System.out.println(date);
    System.out.println(time);
    
  • (Observação: a hora varia conforme a execução do programa)
2025-03-10
12:45:30.123456
Entrada/Saída e Streams em Java

Formatando datas em Java

  • DateTimeFormatter
    • Define formatos de data personalizados
    • Suporta vários padrões como yyyy-MM-dd, MM/dd/yyyy
  • Importe as classes necessárias
    import java.time.LocalDate;
    import java.time.format.DateTimeFormatter;
    
Entrada/Saída e Streams em Java

Formatando datas em Java (continuação)

  • Crie uma instância LocalDate chamada date
LocalDate date = LocalDate.now(); // O formato atual será: `2025-03-10`
  • Crie um DateTimeFormatter com o padrão MM/dd/yyyy usando .ofPattern()
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
  • Aplique o DateTimeFormatter com o método .format()
System.out.println(date.format(formatter))
03/10/2025
Entrada/Saída e Streams em Java

Convertendo String em data

  • Use LocalDate.parse() para converter texto em data

    • Garanta que o formato corresponda à string de entrada
  • Use .parse() com texto no formato yyyy-MM-dd para obter um objeto Date

    LocalDate parsedDate = LocalDate.parse("2024-03-10");
    System.out.println(parsedDate);
    
  • Imprimir o objeto Date produzirá:

    2024-03-10
    
Entrada/Saída e Streams em Java

Ajustando datas

  • Use .plusDays() e .minusDays() para ajustar datas
LocalDate date = LocalDate.now();
// Valor atual:
System.out.println(date); 
// Aplique `.plusDays()` com valor `7`
LocalDate futureDate = date.plusDays(7);
// Valor após o ajuste
System.out.println(futureDate);
2025-03-10
2025-03-17
Entrada/Saída e Streams em Java

Ajustando datas (continuação)

  • Aplique .minusDays() com valor 7
    LocalDate pastDate = date.minusDays(7);
    System.out.println(pastDate);
    
  • Valor atual de pastDate:
    2025-03-03
    
Entrada/Saída e Streams em Java

Resumo

  • LocalDate e LocalTime gerenciam data e hora separadamente
    • Observação: a hora varia conforme a execução do programa
    • .parse() converte texto em data
    • .now() obtém a data/hora atual
  • DateTimeFormatter formata e faz parse de datas
    • define formatos personalizados
    • Suporta vários padrões como yyyy-MM-dd, MM/dd/yyyy
  • Faça cálculos de data com .plusDays() e .minusDays()
Entrada/Saída e Streams em Java

Vamos praticar!

Entrada/Saída e Streams em Java

Preparing Video For Download...