Sådan bruges Java Duration Class

Sadan Bruges Java Duration Class



I Java-programmering kan der være visse tilfælde, hvor der er behov for at måle tiden i sekunder eller nanosekunder. For eksempel at sammenligne og beregne tidsforskellen mellem forskellige tidsrammer eller returnere de beregnede minutter, sekunder eller nanosekunder. I sådanne tilfælde vil ' Varighed Klasse ” i Java hjælper med at arbejde med tidsrelaterede funktionaliteter effektivt.

Denne blog vil uddybe anvendelsen af ​​'Varighedsklassen' i Java.







Hvad er Java Duration Class?

Varighed ” er den værdibaserede klasse, der findes i Java-tidsbiblioteket, der bruges til at måle tid i sekunder og nanosekunder. Denne klasse er også uforanderlig og trådsikker.



Metoder til varighed Klasse

Følgende er nogle af de vigtige metoder i Duration-klassen:



Metoder Brug
addTo(Temporal temporal) Det bruges til at tilføje denne varighed til det bestemte tidsmæssige objekt.
få (tidlig enhed) Den bruges til at hente den ønskede enhedsværdi.
abs() Det giver en positiv kopi af længden.
Varighed mellem (Midlertidig startInklusive, Temporal EndExclusive) Denne metode finder varigheden mellem to objekter (tidsbestemt).
plus (varighed varighed) Det anvendes til at give en kopi af denne varighed med den angivne tilføjede varighed.
minus (varighed varighed) Denne metode bruges til at give en kopi af denne varighed sammen med den angivne varighed fratrukket.
getNano() Den henter nanosekunderne i sekundet i denne varighed.
getSeconds() Den henter sekunderne i denne varighed.
af (langt beløb, tidsmæssig enhed) Denne metode får en Varighed svarende til beløbet i den angivne enhed.
af sekunder (lang sek) Den får en Varighed, der henviser til antallet af sekunder.
af Nanos (langt inde) Den får en Varighed svarende til antallet af nanosekunder.
af minutter (lange min) Den får en Varighed, der angiver antallet af minutter.
ofMillis(lange millis) Denne metode får en Varighed, der repræsenterer millisekunder.
ofHours (lange timer) Den får en Varighed, der refererer til standard-/standardtimer.
ofDays (lange dage) Den får en Varighed, der angiver antallet af standard/standard 24-timersdage.
sammenligneTil(Varighed x) Den sammenligner den givne varighed med den angivne varighed.
Varighed mellem (Temporal startIncl, Temporal endExcl) Den får en Varighed svarende til varigheden mellem to objekter (tidsbestemt).
parse(CharSequence-tekst) Denne metode henter en varighed fra en tekststreng.
fra (Tidligere beløb) Den henter Duration-forekomsten via tidsmæssig mængde.





Lad os nu anvende nogle af 'Varighedsklasse'-metoderne.

Inden du går videre til eksemplerne, skal du importere nedenstående pakke for at arbejde med ' Varighed ' klasse:



import java.time.Duration;

Eksempel 1: Anvendelse af varighedsklassen 'between()', 'get()' og 'isNegative()'-metoder i Java

Dette eksempel anvender de diskuterede metoder og returnerer det tilsvarende resultat som et boolsk eller i form af beregnede sekunder:

offentlig klasse Varighedstid {
offentlig statisk tomrum hoved ( Snor [ ] args ) {
Varighed timeDiff1 = Duration.between ( LocalTime.MAX, LocalTime.NOON ) ;
System.out.println ( timeDiff1.erNegativ ( ) ) ;
System.out.println ( timeDiff1.get ( ChronoUnit.SECONDS ) ) ;
Varighed timeDiff2 = Duration.between ( LocalTime.NOON, LocalTime.MAX ) ;
System.out.println ( timeDiff2.erNegativ ( ) ) ;
System.out.println ( timeDiff2.get ( ChronoUnit.SECONDS ) ) ;
} }

I ovenstående kodelinjer:

  • Først og fremmest skal du anvende ' mellem() ” class(Duration) metode til at returnere tidsforskellen mellem de angivne tidspunkter.
  • Bemærk: Det ' Maks ' svarer til ' 23:59:59,99 ' og ' LocalTime.Middag ' angiver ' 12:00 ”.
  • Tilknyt derefter ' er negativ() ” metode med den beregnede forskel til at analysere om tidsforskellen er negativ ved at returnere et boolesk udfald.
  • Anvend også ' få() ” metode til at hente den beregnede forskel.
  • Anvend nu ' mellem() ” metode igen ved at udveksle tidsrammer og gentage de diskuterede tilgange til at analysere værdierne og returnere deres forskel.

Produktion

I dette resultat kan det observeres, at de tilsvarende tidsforskelle beregnes, og de negative værdier vurderes i overensstemmelse hermed.

Før du går videre til det næste eksempel, skal du sørge for at importere følgende ekstra pakke for at arbejde med dato og klokkeslæt:

importer java.time.temporal.ChronoUnit;

Eksempel 2: Anvendelse af varighedsklassen 'from()', 'getDuration()' og 'toMinutes()'-metoderne

I dette eksempel kan de diskuterede metoder implementeres til at hente varigheden i timer og hente den på minutter:

offentlig klasse Varighedstid2 {
offentlig statisk tomrum hoved ( Snor [ ] args ) {
Varighed dur = Varighed.fra ( ChronoUnit.HOURS.getDuration ( ) ) ;
System.out.println ( 'Varigheden i minutter er ->' +varighed.tilMinutter ( ) ) ;
} }

I denne kodeblok skal du anvende den kombinerede ' fra() ' og ' getDuration() ” metoder til at hente varigheden i timer. Tilknyt derefter ' tilMinute() ” metode til at returnere varigheden i minutter i stedet.

Produktion

I ovenstående output kan det ses, at de tilsvarende minutter i en time hentes passende.

Konklusion

Varighed ” er den værdibaserede klasse i Java-tidsbiblioteket, der bruges til at måle tid i sekunder og nanosekunder. Det kan også kaldes ved hjælp af andre varighedsbaserede enheder, dvs. 'minutter' og 'timer'. Denne klasse kan bruges til at beregne tidsforskellene mellem tidsrammerne eller returnere varigheden i et bestemt format, dvs. minutter ”. Denne artikel demonstrerede brugen af ​​Java 'Duration Class'.