1. LocalDateTimeaula
A LocalDateTimeclasse combina os recursos das classes LocalDatee 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 LocalDatee 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 LocalDatee 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 LocalDateclasse. Depois, há parâmetros que especificam a hora nos mesmos formatos da LocalTimeclasse. 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 LocalDatee LocalTimeobjetos:
| Código |
|---|
|
| Saída do console |
|
A LocalDateTimeclasse possui métodos para obter elementos de uma data e/ou hora. Eles espelham exatamente os métodos das classes LocalDatee LocalTime. Não os repetiremos aqui.
2. Instantclasse
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 Instantclasse é uma versão simplificada da Dateclasse, retendo apenas o que os programadores precisam.
Você pode obter um Instantobjeto exatamente da mesma maneira que um LocalTimeobjeto:
Instant timestamp = Instant.now();
Onde timestampé uma Instantvariá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 Instantobjetos
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 Instantobjetos 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