Java Time

LocalTime

Java Time LocalTime

O LocalTime representa a hora sem data.

Semelhante a LocalDate, podemos criar uma instância de LocalTime a partir do relógio do sistema ou usando os métodos parse e of.

Vamos agora dar uma olhada rápida em algumas das APIs comumente usadas.

Uma instância do LocalTime atual pode ser criada a partir do relógio do sistema:

Instanciação

LocalTime horaAtual = LocalTime.now();

LocalTime horaMinutoSegundoEspecifico = LocalTime.of(13,21,42); // 13:21:42

LocalTime horaMinutoEspecifico = LocalTime.of(13,21); // 13:21

LocalTime horaDeUmaString = LocalTime.parse("13:21:42");

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HHmmss");
LocalTime horaDeUmaStringDespadronizada = LocalTime.parse("132142", formatter); // 13:21:42
🔔 Atenção
Memorize ao máximo esta tabelinha quando quiser converter / formatar data e hora com estruturas específicas:
LetraCampoExemplo
GEra designatorAD
yYear2018 (yyyy), 18 (yy)
MMonth in yearJuly (MMMM), Jul (MMM), 07 (MM)
wResults in week in year16
WResults in week in month3
DGives the day count in the year266
dDay of the month09 (dd), 9(d)
FDay of the week in month4
EDay name in the weekTuesday, Tue
uDay number of weekwhere 1 represents Monday, 2 represents Tuesday and so on 2
aAM or PM markerAM
HHour in the day(0-23) 12
kHour in the day(1-24) 23
KHour in am/pmfor 12 hour format (0-11) 0
hHour in am/pmfor 12 hour format (1-12) 12
mMinute in the hour59
sSecond in the minute35
SMillisecond in the minute978
zTimezone Pacific StandardTime; PST; GMT-08:00
ZTimezone offset in hours (RFC pattern)-0800
XTimezone offset in ISO format-08; -0800; -08:00

Manipulação

LocalTime horaAtual = LocalTime.now();
LocalTime horaAtualMais30Minutos = horaAtual.plusMinutes(30);
LocalTime horaAtualMenos2Horas = horaAtual.minusHours(2);

System.out.println(horaAtual);
System.out.println(horaAtualMais30Minutos);
System.out.println(horaAtualMenos2Horas);

Comparação

LocalTime horaAtual = LocalTime.now();
LocalTime horaAtualMenos2Horas = horaAtual.minusHours(2);

boolean passado = horaAtual.isBefore(horaAtualMenos2Horas);

System.out.println(passado);

Formatação

LocalTime hora = LocalTime.of(13,21,42);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("ss-mm-HH");
String horaFormatada = hora.format(formatter);
System.out.println(horaFormatada); //42-21-13

Dados específicos

LocalTime hora = LocalTime.of(13,21,42);

System.out.println(hora.getHour());     //13
System.out.println(hora.getMinute());   //21
System.out.println(hora.getSecond());   //42
System.out.println(hora.getNano());     //0