CodeGym /Tanfolyamok /All lectures for HU purposes /Az idővel való munka modern megközelítése

Az idővel való munka modern megközelítése

All lectures for HU purposes
Szint , Lecke
Elérhető

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.


Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION