Datas e tempo
- 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