Hvordan bruke Java Duration Class

Hvordan Bruke Java Duration Class



I Java-programmering kan det være visse tilfeller der det er behov for å måle tiden i sekunder eller nanosekunder. For eksempel å sammenligne og beregne tidsforskjellen mellom ulike tidsrammer eller returnere de beregnede minuttene, sekundene eller nanosekunder. I slike tilfeller vil ' Varighet Klasse ” i Java er til hjelp for å jobbe effektivt med tidsrelaterte funksjoner.

Denne bloggen vil utdype hvordan du bruker 'Varighetsklassen' i Java.







Hva er Java Duration Class?

' Varighet ” er den verdibaserte klassen som finnes i Java-tidsbiblioteket som brukes til å måle tid i sekunder og nanosekunder. Dessuten er denne klassen uforanderlig og trådsikker.



Metoder for varighet Klasse

Følgende er noen av de viktige metodene i Duration-klassen:



Metoder Bruk
addTo(Temporal temporal) Den brukes til å legge til denne varigheten til det bestemte tidsmessige objektet.
få (tidlig enhet) Den brukes til å hente den forespurte enhetsverdien.
abs() Det gir en positiv kopi av lengden.
Varighet mellom (Temporal startInclusive, Temporal endExclusive) Denne metoden finner varigheten mellom to objekter (tidsbestemt).
pluss(varighet varighet) Det brukes for å gi en kopi av denne varigheten med den angitte varigheten.
minus (varighet varighet) Denne metoden brukes til å gi en kopi av denne varigheten sammen med den angitte varigheten trukket fra.
getNano() Den henter nanosekunder i sekundet i denne varigheten.
getSeconds() Den henter sekundene i denne varigheten.
av (langt beløp, tidsenhet) Denne metoden får en Varighet som tilsvarer beløpet i den oppgitte enheten.
av sekunder (langt sek) Den får en Varighet som refererer til antall sekunder.
ofNanos (lenge inne) Den får en Varighet som tilsvarer antall nanosekunder.
av minutter (langt min) Den får en Varighet som angir antall minutter.
ofMillis (lang millis) Denne metoden får en Varighet som representerer millisekunder.
timer (lange timer) Den får en Varighet som refererer til standard/standard timer.
ofdays (lange dager) Den får en Varighet som indikerer antall standard/standard 24-timers dager.
sammenlignTil(Varighet x) Den sammenligner den gitte varigheten med den oppgitte varigheten.
Varighet mellom (Temporal startIncl, Temporal endExcl) Den får en Varighet som tilsvarer varigheten mellom to objekter (temporal).
parse(CharSequence-tekst) Denne metoden henter en varighet fra en tekststreng.
fra (Tidlig beløp) Den henter Duration-forekomsten via tidsbeløp.





La oss nå bruke noen av metodene 'Varighetsklasse'.

Før du fortsetter til eksemplene, importer pakken nedenfor for å jobbe med ' Varighet ' klasse:



import java.time.Duration;

Eksempel 1: Bruk av varighetsklassen 'between()', 'get()', og 'isNegative()'-metodene i Java

Dette eksemplet bruker de diskuterte metodene og returnerer det tilsvarende utfallet som et boolsk eller i form av beregnede sekunder:

offentlig klasse Varighetstid {
offentlig statisk tomrom hoved ( String [ ] args ) {
Varighet timeDiff1 = Duration.between ( LocalTime.MAX, LocalTime.NOON ) ;
System.out.println ( timeDiff1.isNegative ( ) ) ;
System.out.println ( timeDiff1.get ( ChronoUnit.SECONDS ) ) ;
Varighet timeDiff2 = Duration.between ( LocalTime.NOON, LocalTime.MAX ) ;
System.out.println ( timeDiff2.isNegative ( ) ) ;
System.out.println ( timeDiff2.get ( ChronoUnit.SECONDS ) ) ;
} }

I kodelinjene ovenfor:

  • Først av alt, bruk ' mellom() ” class(Duration) metode for å returnere tidsforskjellen mellom de angitte tidene.
  • Merk: « Maks ' tilsvarer ' 23:59:59,99 ' og ' LocalTime.Noon ' indikerer ' 12:00 '.
  • Etter det, tilknytt ' erNegativ() ” metode med den beregnede forskjellen for å analysere om tidsforskjellen er negativ ved å returnere et boolsk utfall.
  • Bruk også ' få() ” metode for å hente den beregnede differansen.
  • Bruk nå ' mellom() ”-metoden igjen ved å bytte ut tidsrammene og gjenta de diskuterte tilnærmingene for å analysere verdiene og returnere forskjellen deres.

Produksjon

I dette resultatet kan det observeres at de tilsvarende tidsforskjellene beregnes og de negative verdiene vurderes deretter.

Før du går til neste eksempel, sørg for å importere følgende tilleggspakke for å jobbe med dato og klokkeslett:

importer java.time.temporal.ChronoUnit;

Eksempel 2: Bruk av varighetsklassen 'from()', 'getDuration()' og 'toMinutes()'-metodene

I dette eksemplet kan de diskuterte metodene implementeres for å hente varigheten i timer og hente den på minutter:

offentlig klasse Varighetstid2 {
offentlig statisk tomrom hoved ( String [ ] args ) {
Varighet dur = Varighet.fra ( ChronoUnit.HOURS.getDuration ( ) ) ;
System.out.println ( 'Varigheten i minutter er -> ' +dur.toMinutes ( ) ) ;
} }

I denne kodeblokken bruker du den kombinerte ' fra() ' og ' getDuration() ” metoder for å hente varigheten i timer. Etter det, tilknytt ' tilMinute() ” metode for å returnere varigheten i minutter i stedet.

Produksjon

I utgangen ovenfor kan man se at de tilsvarende minuttene i en time hentes hensiktsmessig.

Konklusjon

' Varighet ” er den verdibaserte klassen i Java-tidsbiblioteket som brukes til å måle tid i sekunder og nanosekunder. Det kan også påkalles ved å bruke andre varighetsbaserte enheter, det vil si 'minutter' og 'timer'. Denne klassen kan brukes til å beregne tidsforskjellene mellom tidsrammene eller returnere varigheten i et bestemt format, dvs. ' minutter '. Denne artikkelen demonstrerte bruken av Java 'Duration Class'.