1. LocalTimeclasa

Clasa LocalTimea fost creată pentru cazurile în care trebuie să lucrați cu timp, dar fără dată. De exemplu, să presupunem că scrieți o aplicație de alarmă. Îți pasă de oră, dar nu de dată.

Clasa LocalTimeeste foarte asemănătoare cu LocalDateclasa - obiectele sale nu pot fi modificate în mod similar după creare.

Obținerea orei curente

Pentru a crea un obiect nou LocalTime, trebuie să utilizați now()metoda statică. Exemplu:

LocalTime time = LocalTime.now();

Unde timeeste o LocalTimevariabilă și este un apel la metoda statică a clasei.LocalTime.now()now()LocalTime

Exemplu:

Cod Ieșire de consolă
LocalTime time = LocalTime.now();
System.out.println("Now = " + time);

Now = 09:13:13.642881600

Punctul este urmat de numărul curent de nanosecunde.

2. Obținerea unei anumite ore

Pentru a obține o anumită oră, trebuie să utilizați of()metoda statică. Exemplu:

LocalTime time = LocalTime.of(hours, minutes, seconds, nanoseconds);

Treci în ore, minute, secunde și nanosecunde.

Exemplu:

Cod Ieșire de consolă
LocalTime time = LocalTime.of(12, 15, 0, 100);
System.out.println("Now = " + time);
Now = 12:15:00.000000100

Apropo, mai există două variante ale acestei metode:

LocalTime time = LocalTime.of(hours, minutes, seconds);

și

LocalTime time = LocalTime.of(hours, minutes);

Așa că puteți folosi oricare este mai convenabil pentru dvs.

Obținerea unui timp bazat pe indicele unei secunde

Puteți obține și ora după indicele unei secunde într-o zi. Pentru a face acest lucru, avem ofSecondOfDay()metoda statică:

LocalTime time = LocalTime.ofSecondOfDay(seconds);

Unde secunde este numărul de secunde de la începutul zilei.

Exemplu:

Cod Ieșire de consolă
LocalTime time = LocalTime.ofSecondOfDay(10000);
System.out.println(time);

02:46:40

Da, 10.000 de secunde înseamnă puțin mai puțin de trei ore. Totul este corect.

3. Obținerea elementelor de timp

Pentru a obține valoarea unui anumit element de timp dintr-un LocalTimeobiect, avem următoarele metode:

Metodă Descriere
int getHour()
Returnează orele
int getMinute()
Returnează minutele
int getSecond()
Returnează secundele
int getNano()
Returnează nanosecundele

Exemplu:

Cod Ieșire de consolă
LocalTime now = LocalTime.now();
System.out.println(now.getHour());
System.out.println(now.getMinute());
System.out.println(now.getSecond());
System.out.println(now.getNano());

2
46
40
0

4. Schimbarea orei într-un LocalTimeobiect

Clasa LocalTimeare și metode care vă permit să lucrați cu timpul. Implementarea acestor metode este analogă cu metodele clasei LocalDate: ele nu schimbă LocalTimeobiectul existent, ci în schimb returnează unul nou cu datele dorite.

Iată metodele clasei LocalTime:

Metodă Descriere
plusHours(int hours)
Adaugă ore
plusMinutes(int minutes)
Adaugă minute
plusSeconds(int seconds)
Adaugă secunde
plusNanos(int nanos)
Adaugă nanosecunde
minusHours(int hours)
Scade ore
minusMinutes(int minutes)
Scade minute
minusSeconds(int seconds)
Scade secunde
minusNanos(int nanos)
Scade nanosecunde

Exemplu:

Cod Ieșire de consolă
LocalTime time = LocalTime.now();
LocalTime time2 = time.plusHours(2);
LocalTime time3 = time.minusMinutes(40);
LocalTime time4 = time.plusSeconds(3600);

System.out.println(time);
System.out.println(time2);
System.out.println(time3);
System.out.println(time4);





10:33:55.978012200
12:33:55.978012200
09:53:55.978012200
11:33:55.978012200

Rețineți că în fiecare caz obținem un nou timp care este relativ la timeobiectul original. Dacă adăugați 3600 secondsla un timp, atunci adăugați exact 1hour.