Datas e tempo
- Existem as classes
LocalDate
, LocalTime
, and LocalDateTime
que pertencem ao package java.time
e 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