1 klasaLocalTime

Klasa LocalTimepowstała z myślą o przypadkach, gdy trzeba pracować tylko z czasem bez daty. Na przykład piszesz aplikację budzika. Ważna jest dla Ciebie godzina, ale nie data.

Klasa LocalTimejest bardzo podobna do klasy LocalDate: jej obiektów również nie można zmienić po utworzeniu.

Pobieranie aktualnego czasu

Aby utworzyć nowy obiekt klasy LocalTime, musisz użyć metody statycznej now(). Przykład:

LocalTime time = LocalTime.now();

Gdzie timejest zmienną klasy LocalTimei jest wywołaniem metody statycznej w klasie .LocalTime.now()now()LocalTime

Przykład:

Kod Wyjście na wyświetlaczu
LocalTime time = LocalTime.now();
System.out.println("Teraz = " + time);

Teraz = 09:13:13.642881600

Po kropce następuje bieżąca wartość nanosekund.

2. Uzyskanie podanego czasu

Aby uzyskać podany czas, musisz użyć metody statycznej of(). Przykład:

LocalTime time = LocalTime.of(часы, minutyы, секунды, наносекунды);

W którym możesz przesyłać odpowiednio godziny, minuty, sekundy i nanosekundy.

Przykład:

Kod Wyjście na wyświetlaczu
LocalTime time = LocalTime.of(12, 15, 0, 100);
System.out.println("Teraz = " + time);
Teraz = 12:15:00.000000100

Nawiasem mówiąc, istnieją jeszcze dwie modyfikacje tej metody:

LocalTime time = LocalTime.of(часы, minutyы, секунды);

I

LocalTime time = LocalTime.of(часы, minutyы);

Możesz więc użyć tego, co jest dla Ciebie wygodniejsze.

Uzyskiwanie czasu według drugiej liczby

Możesz także uzyskać czas na podstawie drugiej liczby w ciągu dnia: istnieje do tego specjalna metoda statyczna ofSecondOfDay():

LocalTime time = LocalTime.ofSecondOfDay(секунды);

Gdzie sekundy to liczba sekund, które upłynęły od początku dnia.

Przykład:

Kod Wyjście na wyświetlaczu
LocalTime time = LocalTime.ofSecondOfDay(10000);
System.out.println(time);

02:46:40

Tak, 10 tysięcy sekund to trochę mniej niż trzy godziny. W porządku.

3. Zdobywanie fragmentów czasu

Aby uzyskać wartość określonego elementu czasu z obiektu LocalTime, stosuje się specjalne metody:

metoda Opis
int getHour()
Zwraca zegar
int getMinute()
Zwraca minuty
int getSecond()
Zwraca sekundy
int getNano()
Zwraca nanosekundy

Przykład:

Kod Wyjście na wyświetlaczu
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. Zmiana czasu w obiekcie klasyLocalTime

Klasa LocalTimezawiera również metody, które pozwalają na pracę z czasem. Metody te są implementowane analogicznie do metod klasowych LocalDate: każda z nich nie zmienia istniejącego obiektu LocalTime, lecz zwraca nowy z niezbędnymi danymi.

Oto metody klasy LocalTime:

metoda Opis
plusHours(int hours)
Dodaje zegar
plusMinutes(int minutes)
Dodaje minuty
plusSeconds(int seconds)
Dodaje sekundy
plusNanos(int nanos)
Dodaje nanosekundy
minusHours(int hours)
Odejmij godziny
minusMinutes(int minutes)
Odejmuje minuty
minusSeconds(int seconds)
Odejmuje sekundy
minusNanos(int nanos)
Odejmuje nanosekundy

Przykład:

Kod Wyjście na wyświetlaczu
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

Zauważmy, że za każdym razem otrzymujemy nowy czas względem pierwszego obiektu time. Jeśli dodasz do tego czas 3600 секунд, będzie dokładnie 1 час.