1. LocalTimeosztály

Az LocalTimeosztályt olyan esetekre hozták létre, amikor idővel, de dátum nélkül kell dolgozni. Tegyük fel például, hogy egy ébresztőóra-alkalmazást ír. Az idő érdekel, de a dátum nem.

Az LocalTimeosztály nagyon hasonlít az LocalDateosztályra – az objektumai hasonlóképpen nem módosíthatók a létrehozás után.

Az aktuális idő lekérése

Új objektum létrehozásához LocalTimea statikus módszert kell használnia now(). Példa:

LocalTime time = LocalTime.now();

Ahol timeegy LocalTimeváltozó, és az osztály statikus metódusának hívása .LocalTime.now()now()LocalTime

Példa:

Kód Konzol kimenet
LocalTime time = LocalTime.now();
System.out.println("Now = " + time);

Now = 09:13:13.642881600

A pontot a nanoszekundumok aktuális száma követi.

2. Egy adott időpont megszerzése

Egy adott idő meghatározásához statikus of()módszert kell használnia. Példa:

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

Órákban, percekben, másodpercekben és nanoszekundumokban halad.

Példa:

Kód Konzol kimenet
LocalTime time = LocalTime.of(12, 15, 0, 100);
System.out.println("Now = " + time);
Now = 12:15:00.000000100

Ennek a módszernek egyébként két további változata van:

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

és

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

Így azt használhatja, amelyik kényelmesebb az Ön számára.

Idő lekérdezése a másodperc indexe alapján

Az időt egy nap másodperc indexével is lekérheti. Ehhez a statikus ofSecondOfDay()módszert használjuk:

LocalTime time = LocalTime.ofSecondOfDay(seconds);

Ahol a másodperc a nap eleje óta eltelt másodpercek száma.

Példa:

Kód Konzol kimenet
LocalTime time = LocalTime.ofSecondOfDay(10000);
System.out.println(time);

02:46:40

Igen, 10 000 másodperc valamivel kevesebb, mint három óra. Minden helyes.

3. Az idő elemeinek megszerzése

Ha egy objektumból egy adott időelem értékét szeretnénk lekérni LocalTime, a következő módszereink vannak:

Módszer Leírás
int getHour()
Az órákat adja vissza
int getMinute()
Visszaadja a jegyzőkönyvet
int getSecond()
Visszaadja a másodperceket
int getNano()
A nanoszekundumokat adja vissza

Példa:

Kód Konzol kimenet
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. Idő módosítása egy LocalTimeobjektumban

Az LocalTimeosztálynak vannak olyan módszerei is, amelyek lehetővé teszik az idővel való munkavégzést. Ezeknek a metódusoknak a megvalósítása analóg az osztály metódusaival LocalDate: nem változtatják meg a meglévő LocalTimeobjektumot, hanem egy újat adnak vissza a kívánt adatokkal.

Íme az LocalTimeosztály metódusai:

Módszer Leírás
plusHours(int hours)
Órák hozzáadása
plusMinutes(int minutes)
Perceket ad hozzá
plusSeconds(int seconds)
Másodperceket ad hozzá
plusNanos(int nanos)
Nanoszekundumokat ad hozzá
minusHours(int hours)
Kivonja az órákat
minusMinutes(int minutes)
Kivonja a perceket
minusSeconds(int seconds)
Kivonja a másodperceket
minusNanos(int nanos)
Kivonja a nanoszekundumot

Példa:

Kód Konzol kimenet
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

Vegyük észre, hogy minden esetben új időt kapunk, amely az eredeti objektumhoz viszonyítva van time. Ha hozzáad 3600 secondsegy időponthoz, akkor pontosan adja hozzá 1hour.