1. LocalTimeaula
A LocalTimeclasse foi criada para casos onde você precisa trabalhar com horário mas sem data. Por exemplo, suponha que você esteja escrevendo um aplicativo de despertador. Você se importa com a hora, mas não com a data.
A LocalTimeclasse é muito semelhante à LocalDateclasse — seus objetos também não podem ser alterados após a criação.
Obtendo a hora atual
Para criar um novo LocalTimeobjeto, você precisa usar o now()método estático. Exemplo:
LocalTime time = LocalTime.now();
Onde timeé uma LocalTimevariável e é uma chamada para o método estático da classe.LocalTime.now()now()LocalTime
Exemplo:
| Código | Saída do console |
|---|---|
|
|
O ponto é seguido pelo número atual de nanossegundos.
2. Conseguir um horário específico
Para obter um horário específico, você precisa usar o of()método estático. Exemplo:
LocalTime time = LocalTime.of(hours, minutes, seconds, nanoseconds);
Você passa nas horas, minutos, segundos e nanossegundos.
Exemplo:
| Código | Saída do console |
|---|---|
|
|
A propósito, existem mais duas variações desse método:
LocalTime time = LocalTime.of(hours, minutes, seconds);
e
LocalTime time = LocalTime.of(hours, minutes);
Assim você pode usar o que for mais conveniente para você.
Obtendo um tempo baseado no índice de um segundo
Você também pode obter o tempo pelo índice de um segundo em um dia. Para fazer isso, temos o ofSecondOfDay()método estático:
LocalTime time = LocalTime.ofSecondOfDay(seconds);
Onde segundos é o número de segundos desde o início do dia.
Exemplo:
| Código | Saída do console |
|---|---|
|
|
Sim, 10.000 segundos é um pouco menos de três horas. Está tudo correto.
3. Obtendo elementos de tempo
Para obter o valor de um elemento específico de tempo de um LocalTimeobjeto, temos estes métodos:
| Método | Descrição |
|---|---|
|
Retorna as horas |
|
Retorna os minutos |
|
Retorna os segundos |
|
Retorna os nanossegundos |
Exemplo:
| Código | Saída do console |
|---|---|
|
|
4. Alterar a hora em um LocalTimeobjeto
A LocalTimeclasse também possui métodos que permitem trabalhar com o tempo. A implementação desses métodos é análoga aos métodos da LocalDateclasse: eles não alteram o LocalTimeobjeto existente, mas retornam um novo com os dados desejados.
Aqui estão os métodos da LocalTimeclasse:
| Método | Descrição |
|---|---|
|
Adiciona horas |
|
Adiciona minutos |
|
Adiciona segundos |
|
Adiciona nanossegundos |
|
Subtrai horas |
|
Subtrai minutos |
|
Subtrai segundos |
|
Subtrai nanossegundos |
Exemplo:
| Código | Saída do console |
|---|---|
|
|
Observe que, em cada caso, obtemos um novo tempo relativo ao timeobjeto original. Se você adicionar 3600 secondsa um tempo, adicionará exatamente 1hour.
GO TO FULL VERSION