W programowaniu w Javie mogą zaistnieć pewne przypadki, w których zachodzi potrzeba pomiaru czasu w sekundach lub nanosekundach. Na przykład porównywanie i obliczanie różnicy czasu między różnymi ramami czasowymi lub zwracanie obliczonych minut, sekund lub nanosekund. W takich przypadkach „ Klasa czasu trwania ” w Javie pomaga efektywnie pracować z funkcjami związanymi z czasem.
Ten blog będzie szczegółowo omawiał zastosowanie „Klasy czasu trwania” w Javie.
Co to jest klasa czasu trwania Java?
“ Czas trwania ” to klasa oparta na wartościach obecna w bibliotece czasu Java, używana do mierzenia czasu w sekundach i nanosekundach. Ponadto ta klasa jest niezmienna i bezpieczna dla wątków.
Metody klasy Duration
Poniżej przedstawiono niektóre z ważnych metod klasy Duration:
Metody | Stosowanie |
addTo(Temporal temporal) | Służy do dodawania tego czasu trwania do konkretnego obiektu czasowego. |
get(jednostka czasu) | Służy do pobrania żądanej wartości jednostki. |
abs() | Daje dodatnią kopię długości. |
Czas trwania między (Temporal startInclusive, Temporal endExclusive) | Ta metoda znajduje czas trwania między dwoma obiektami (temporal). |
plus(Czas trwania) | Stosuje się wydanie kopii tego czasu trwania z podanym dodanym czasem trwania. |
minus(Czas trwania) | Ta metoda jest wykorzystywana do uzyskania kopii tego czasu trwania wraz z odjętym podanym czasem trwania. |
getNano() | Pobiera nanosekundy w sekundzie w tym czasie. |
getSeconds() | Pobiera sekundy w tym czasie. |
z (kwota długa, jednostka czasowa) | Ta metoda pobiera Duration odpowiadającą kwocie w podanej jednostce. |
ofSeconds (długie sekundy) | Otrzymuje czas trwania odnoszący się do liczby sekund. |
ofNanos (od dawna) | Otrzymuje czas trwania odpowiadający liczbie nanosekund. |
z Minut (długie min) | Otrzymuje czas trwania oznaczający liczbę minut. |
ofMillis(długie millis) | Ta metoda pobiera Duration reprezentującą milisekundy. |
godzin (długie godziny) | Otrzymuje czas trwania odnoszący się do godzin standardowych/domyślnych. |
dni (długie dni) | Otrzymuje czas trwania wskazujący liczbę standardowych/domyślnych 24-godzinnych dni. |
porównaj z (czas trwania x) | Porównuje podany czas trwania z podanym czasem trwania. |
Czas trwania między (Temporal startIncl, Temporal endExcl) | Otrzymuje czas trwania odpowiadający czasowi trwania między dwoma obiektami (czasowy). |
parse (tekst Sekwencji Znaków) | Ta metoda pobiera Duration z ciągu tekstowego. |
od (kwota tymczasowa) | Pobiera instancję Duration za pośrednictwem kwoty tymczasowej. |
Teraz zastosujmy niektóre metody „Klasy czasu trwania”.
Zanim przejdziesz do przykładów, zaimportuj poniższy pakiet do pracy z „ Czas trwania ' klasa:
import java.time.Duration;
Przykład 1: Stosowanie metod klasy Duration „between()”, „get()” i „isNegative()” w Javie
Ten przykład stosuje omówione metody i zwraca odpowiedni wynik jako wartość logiczną lub w postaci obliczonych sekund:
klasa publiczna Czas trwania {public static void main ( Strunowy [ ] argumenty ) {
Czas trwaniaRóżnica1 = Czas trwania.pomiędzy ( Czas lokalny.MAX, Czas lokalny.POŁUDNIE ) ;
System.out.println ( timeDiff1.isNegative ( ) ) ;
System.out.println ( timeDiff1.get ( ChronoUnit.SECONDS ) ) ;
Czas trwaniaRóżnica2 = Czas trwania.pomiędzy ( Czas lokalny.POŁUDNIE, Czas lokalny.MAX ) ;
System.out.println ( timeDiff2.isNegative ( ) ) ;
System.out.println ( timeDiff2.get ( ChronoUnit.SECONDS ) ) ;
} }
W powyższych liniach kodu:
- Przede wszystkim zastosuj „ między() ” class(Duration), aby zwrócić różnicę czasu między podanymi czasami.
- Notatka: „ Maks ' koresponduje z ' 23:59:59,99 ” i „ Czas lokalny.Południe ” oznacza „ 12:00 ”.
- Następnie skojarz „ jestujemne() ” z obliczoną różnicą, aby przeanalizować, czy różnica czasu jest ujemna, zwracając wynik logiczny.
- Zastosuj również „ Dostawać() ”, aby pobrać obliczoną różnicę.
- Teraz zastosuj „ między() ” ponownie, zamieniając ramy czasowe i powtarzając omówione podejścia do analizy wartości i zwracania ich różnicy.
Wyjście
W wyniku tym można zauważyć, że obliczane są odpowiednie różnice czasowe i odpowiednio oceniane są wartości ujemne.
Zanim przejdziesz do następnego przykładu, pamiętaj o zaimportowaniu następującego dodatkowego pakietu do pracy z datą i godziną:
import java.time.temporal.ChronoUnit;
Przykład 2: Stosowanie metod klasy Duration „from()”, „getDuration()” i „toMinutes()”
W tym przykładzie omówione metody można zaimplementować, aby pobrać czas trwania w godzinach i pobrać go w minutach:
klasa publiczna Czas trwania2 {public static void main ( Strunowy [ ] argumenty ) {
Czas trwania = Czas trwania od ( ChronoUnit.HOURS.getDuration ( ) ) ;
System.out.println ( „Czas trwania w minutach to ->” +czas trwania do minut ( ) ) ;
} }
W tym bloku kodu zastosuj połączone „ z() ' I ' getDuration() ” metody pobierania czasu trwania w godzinach. Następnie skojarz „ doMinut() ”, aby zamiast tego zwrócić czas trwania w minutach.
Wyjście
Na powyższym wyjściu widać, że odpowiednie minuty w godzinie są odpowiednio pobierane.
Wniosek
“ Czas trwania ” to oparta na wartościach klasa w bibliotece czasu Java, używana do mierzenia czasu w sekundach i nanosekundach. Można go również wywołać za pomocą innych jednostek opartych na czasie trwania, tj. „minut” i „godzin”. Tej klasy można użyć do obliczenia różnic czasowych między przedziałami czasowymi lub zwrócenia czasu trwania w określonym formacie, np. „ minuty ”. W tym artykule zademonstrowano wykorzystanie „Klasy czasu trwania” Javy.