Ce face LocalTime
LocalTime ține doar ora: ore, minute, secunde și nanosecunde, de la 00:00 la 23:59:59.999999999. Nu are dată și nici fus orar. Este bună pentru programul unui magazin, ora de începere a orelor la școală sau ora unei alarme.
LocalTime.of(14, 30) creează ora din numere, iar LocalTime.parse("14:30") sau parse("14:30:15") o citește din text ISO. Constantele LocalTime.MIDNIGHT, NOON, MIN și MAX sunt gata făcute.
Calculele „trec peste” miezul nopții fără să schimbe vreo dată: 23:00 plus 2 ore este 01:00. Comparația se face cu isBefore/isAfter.
Parametri
| Parametru | Descriere |
|---|---|
ora |
Ora, de la 0 la 23. |
minut, secunda |
De la 0 la 59. |
text |
Pentru parse: ora în format HH:mm sau HH:mm:ss. |
Ce returnează
Un LocalTime. Valorile invalide aruncă DateTimeException.
Exemple
Exemplul 1: Este magazinul deschis?
import java.time.LocalTime;
public class Main {
static final LocalTime DESCHIDE = LocalTime.of(8, 0);
static final LocalTime INCHIDE = LocalTime.parse("20:30");
static boolean deschis(LocalTime ora) {
return !ora.isBefore(DESCHIDE) && ora.isBefore(INCHIDE);
}
public static void main(String[] args) {
for (String s : new String[] {"07:59", "08:00", "13:15", "20:30"}) {
LocalTime ora = LocalTime.parse(s);
System.out.println(ora + " -> " + (deschis(ora) ? "deschis" : "închis"));
}
}
}
Rezultat
07:59 -> închis
08:00 -> deschis
13:15 -> deschis
20:30 -> închis
Exemplul 2: Părțile unei ore și constante
import java.time.LocalTime;
public class Main {
public static void main(String[] args) {
LocalTime t = LocalTime.of(9, 5, 30);
System.out.println(t + " = ora " + t.getHour() + ", minutul " + t.getMinute() + ", secunda " + t.getSecond());
System.out.println("Secunde de la miezul nopții: " + t.toSecondOfDay());
System.out.println("Amiaza: " + LocalTime.NOON + ", miezul nopții: " + LocalTime.MIDNIGHT);
System.out.println("Ultimul moment: " + LocalTime.MAX);
}
}
Rezultat
09:05:30 = ora 9, minutul 5, secunda 30
Secunde de la miezul nopții: 32730
Amiaza: 12:00, miezul nopții: 00:00
Ultimul moment: 23:59:59.999999999
Exemplul 3: Orarul unei zile de școală
O oră durează 50 de minute, iar pauza 10 minute. Pornim de la 8:00 și calculăm intervalele.
import java.time.LocalTime;
public class Main {
public static void main(String[] args) {
String[] materii = {"Matematică", "Română", "Engleză", "Informatică"};
LocalTime ora = LocalTime.of(8, 0);
for (String m : materii) {
LocalTime sfarsit = ora.plusMinutes(50);
System.out.println(ora + " - " + sfarsit + " " + m);
ora = sfarsit.plusMinutes(10);
}
}
}
Rezultat
08:00 - 08:50 Matematică
09:00 - 09:50 Română
10:00 - 10:50 Engleză
11:00 - 11:50 Informatică
Greșeli frecvente
- Verifici un interval care trece peste miezul nopții (22:00 – 06:00) cu
isAfter(start) && isBefore(sfarsit). Condiția nu este adevărată niciodată; în acest caz folosește||. - Folosești
LocalTimepentru durate (de exemplu „2 ore și 30 de minute de lucru”). Pentru cantități de timp foloseșteDuration.
Comenzi înrudite
LocalTime.plusMinutes: Returnează o oră nouă cu minutele adunate; după 23:59 se reia de la 00:00, fără să schimbe vreo dată.LocalDateTime: Data și ora împreună (2026-10-19T14:30), fără fus orar. LocalDateTime.now() dă momentul curent după ceasul local.Duration: O cantitate de timp exactă, în secunde și nanosecunde (1 oră și 30 de minute); se afișează ca PT1H30M.DateTimeFormatter: Descrie cum se scrie sau se citește o dată ca text; ofPattern(„dd.MM.yyyy”) creează un format din litere.