Datas e tempo

Aula
Estado
  • Existem as classes LocalDate, LocalTime, and LocalDateTime que pertencem ao package java.timee são recomendas em detrimento de java.util.Date.
  • java.util.Date é útil para representar um time-stamp, mas pobre para utilizações mais complexas.
  • LocalDate, LocalTime e LocalDateTime são imutáveis; Date é mutável

Períodos de tempo

  • A classe Duration representa um período de tempo em nano-segundos (como um cronômetro)
  • A classe Period representa um período de tempo em unidades maiores, como dias ou anos
  • A classe Instant representa um time-stamp (similar a classe Date)
  • As classes Duration e Instant são mais adequadas para implementar tarefas do sistema; Period é mais adequada para lógica de negócio
  • Duration, Period e Instant são imutáveis

ZonedDateTime

  • ZonedDateTime representa valores de data e hora de acordo com regras de fuso horário
  • Possui todos métodos que LocalDateTime possuí.

Locale

  • java.util.Locale representa idiomas e países
  • Possuí a opção de adicionar uma variante ao idioma (e.g. new Locale("fr", "CA") representa o idioma francês comum ao Canada)
  • Utilizado como base para classes de formatação como NumberFormat e DateTimeFormatter, configurando eles para o padrão do idioma definido no Locale