1. LocalDateTime
aula
A LocalDateTime
classe combina os recursos das classes LocalDate
e LocalTime
: armazena uma data e uma hora. Seus objetos também são imutáveis e seus métodos são semelhantes aos das classes LocalDate
e LocalTime
.
Obtendo a data e hora atual
Tudo é como você esperaria aqui: nós usamos o now()
método. Exemplo:
Código | Saída do console |
---|---|
|
|
Quando exibidos na tela, a data e a hora são separadas pela letra T
.
Obter uma data e hora específicas
Sem surpresa, tudo é semelhante às classes LocalDate
e LocalTime
— usamos o of()
método:
... = LocalDateTime.of(year, month, day, hours, minutes, seconds);
Primeiro, existem parâmetros que especificam a data nos mesmos formatos da LocalDate
classe. Depois, há parâmetros que especificam a hora nos mesmos formatos da LocalTime
classe. Uma lista de todas as variações do of()
método é dada abaixo:
Métodos |
---|
|
|
|
|
|
|
|
Você pode definir a data diretamente ou indiretamente por meio de LocalDate
e LocalTime
objetos:
Código |
---|
|
Saída do console |
|
A LocalDateTime
classe possui métodos para obter elementos de uma data e/ou hora. Eles espelham exatamente os métodos das classes LocalDate
e LocalTime
. Não os repetiremos aqui.
2. Instant
classe
Os criadores de Java também não se esqueceram dos métodos antigos.
A API Date Time inclui uma classe Instant para trabalhar com tempo destinado a processos que ocorrem em computadores. Em vez de horas, minutos e segundos, ele lida com segundos, milissegundos e nanossegundos.
Esta classe possui dois campos que representam:
- o número de segundos decorridos desde 1º de janeiro de 1970
- um número de nanossegundos
A aula foi feita para desenvolvedores? Sim. É por isso que ele calcula o tempo no Unix-time, que começa no início de 1970.
Pode-se até dizer que a Instant
classe é uma versão simplificada da Date
classe, retendo apenas o que os programadores precisam.
Você pode obter um Instant
objeto exatamente da mesma maneira que um LocalTime
objeto:
Instant timestamp = Instant.now();
Onde timestamp
é uma Instant
variável e é uma chamada para o método estático da classe.Instant.now()
now()
Instant
Exemplo:
Código | Saída do console |
---|---|
|
|
Você também pode criar um novo objeto usando variações do of()
método passando o tempo decorrido desde 1º de janeiro de 1970:
|
Você precisa passar o número de milissegundos |
|
Você precisa passar o número de segundos |
|
Você precisa passar os segundos e nanossegundos |
Métodos disponíveis em Instant
objetos
A classe Instant possui dois métodos que retornam os valores de seus campos:
|
Número de segundos decorridos desde 1º de janeiro de 1970 |
|
Nanossegundos. |
|
Número de milissegundos decorridos desde 1º de janeiro de 1970 |
Também existem métodos para criar novos Instant
objetos com base em um existente:
|
Adiciona segundos à hora atual |
|
Adiciona milissegundos |
|
Adiciona nanossegundos |
|
Subtrai segundos |
|
Subtrai milissegundos |
|
Subtrai nanossegundos |
Exemplos:
Código | Saída do console |
---|---|
|
|
GO TO FULL VERSION