Paano Gamitin ang Java Duration Class

Paano Gamitin Ang Java Duration Class



Sa Java programming, maaaring may ilang pagkakataon kung saan kailangang sukatin ang oras sa mga segundo o nanosecond. Halimbawa, ang paghahambing at pagkalkula ng pagkakaiba ng oras sa pagitan ng iba't ibang time frame o pagbabalik ng nakalkulang minuto, segundo, o nanosecond. Sa ganitong mga kaso, ang ' Tagal ng Klase ” sa Java ay nakakatulong sa epektibong pagtatrabaho sa mga functionality na nauugnay sa oras.

Ang blog na ito ay magdedetalye sa paglalapat ng 'Duration Class' sa Java.







Ano ang Java Duration Class?

Tagal ” ay ang value-based na klase na nasa Java time library na ginagamit upang sukatin ang oras sa mga segundo at nanosecond. Gayundin, ang klase na ito ay hindi nababago at ligtas sa thread.



Mga Paraan ng Tagal na Klase

Ang sumusunod ay ilan sa mahahalagang pamamaraan ng klase ng Tagal:



Paraan Paggamit
addTo(Temporal na temporal) Ito ay ginagamit upang idagdag ang tagal na ito sa partikular na temporal na bagay.
makuha (Temporal na yunit) Ito ay ginagamit upang kunin ang hiniling na halaga ng unit.
abs() Nagbibigay ito ng positibong kopya ng haba.
Tagal sa pagitan ng(Temporal startInclusive, Temporal endExclusive) Hinahanap ng pamamaraang ito ang tagal sa pagitan ng dalawang bagay (temporal).
plus(Tagal ng tagal) Inilapat ito upang magbigay ng kopya ng tagal na ito kasama ng ibinigay na dagdag na tagal.
minus(Tagal ng tagal) Ang pamamaraang ito ay ginagamit upang magbigay ng kopya ng tagal na ito kasama ang ibinigay na tagal na ibinawas.
getNano() Kinukuha nito ang mga nanosecond sa segundo sa tagal na ito.
getSeconds() Kinukuha nito ang mga segundo sa tagal na ito.
ng(mahabang halaga, Temporal na yunit) Ang paraang ito ay nakakakuha ng Tagal na tumutugma sa halaga sa ibinigay na yunit.
ofSeconds(mahabang seg) Nakakakuha ito ng Tagal na tumutukoy sa bilang ng mga segundo.
ofNanos(long in) Nakakakuha ito ng Tagal na tumutugma sa bilang ng mga nanosecond.
ofMinutes(mahabang min) Ito ay nakakakuha ng Duration na nagpapahiwatig ng bilang ng mga minuto.
ofMillis(mahabang millis) Ang pamamaraang ito ay nakakakuha ng Tagal na kumakatawan sa mga millisecond.
ofHours(mahabang oras) Nakakakuha ito ng Tagal na tumutukoy sa mga karaniwang/default na oras.
ofDays(mahabang araw) Nakakakuha ito ng Tagal na nagsasaad ng bilang ng karaniwang/default na 24 na oras na araw.
compareTo(Tagal x) Inihahambing nito ang ibinigay na tagal sa ibinigay na Tagal.
Tagal sa pagitan ng(Temporal startIncl, Temporal endExcl) Nakakakuha ito ng Tagal na tumutugma sa tagal sa pagitan ng dalawang bagay (temporal).
parse(CharSequence text) Kinukuha ng paraang ito ang isang Tagal mula sa isang string ng teksto.
mula sa(Temporal na halaga) Kinukuha nito ang instance ng Tagal sa pamamagitan ng temporal na halaga.





Ngayon, ilapat natin ang ilan sa mga pamamaraan ng 'Duration Class'.

Bago magpatuloy sa mga halimbawa, i-import ang package na ibinigay sa ibaba upang gumana sa ' Tagal 'klase:



import java.time.Duration;

Halimbawa 1: Paglalapat ng Duration Class na “between()”, “get()”, at “isNegative()” Methods sa Java

Inilalapat ng halimbawang ito ang mga tinalakay na pamamaraan at ibinabalik ang kaukulang resulta bilang isang boolean o sa anyo ng mga nakalkulang segundo:

Tagal ng pampublikong klase {
pampublikong static void main ( String [ ] args ) {
Tagal timeDiff1 = Duration.between ( LocalTime.MAX, LocalTime.NOON ) ;
System.out.println ( timeDiff1.isNegative ( ) ) ;
System.out.println ( timeDiff1.get ( ChronoUnit.SECONDS ) ) ;
Tagal timeDiff2 = Duration.between ( LocalTime.NOON, LocalTime.MAX ) ;
System.out.println ( timeDiff2.isNegative ( ) ) ;
System.out.println ( timeDiff2.get ( ChronoUnit.SECONDS ) ) ;
} }

Sa mga linya ng code sa itaas:

  • Una sa lahat, ilapat ang ' sa pagitan ng() ” class(Duration) na paraan upang ibalik ang pagkakaiba ng oras sa pagitan ng mga nakasaad na oras.
  • Tandaan: Ang ' Max ' tumutugma sa ' 23:59:59.99 ' at ang ' LocalTime.Tanghali 'nagsasaad' 12:00 ”.
  • Pagkatapos nito, iugnay ang ' isNegative() ” na pamamaraan na may nakalkulang pagkakaiba upang pag-aralan kung negatibo ang pagkakaiba ng oras sa pamamagitan ng pagbabalik ng boolean na kinalabasan.
  • Gayundin, ilapat ang ' kumuha () ” paraan para makuha ang kinakalkulang pagkakaiba.
  • Ngayon, ilapat ang ' sa pagitan ng() ” paraan muli sa pamamagitan ng pagpapalit ng mga time frame at pag-uulit ng mga tinalakay na diskarte para sa pagsusuri ng mga halaga at pagbabalik ng kanilang pagkakaiba.

Output

Sa kinalabasan na ito, mapapansin na ang mga katumbas na pagkakaiba sa oras ay kinukuwenta at ang mga negatibong halaga ay sinusuri nang naaayon.

Bago magtungo sa susunod na halimbawa, tiyaking i-import ang sumusunod na karagdagang pakete upang gumana sa petsa at oras:

import java.time.temporal.ChronoUnit;

Halimbawa 2: Paglalapat ng Duration Class na “from()”, “getDuration()”, at “toMinutes()” Methods

Sa halimbawang ito, maaaring ipatupad ang mga tinalakay na pamamaraan upang makuha ang tagal sa mga oras at makuha ito sa loob ng ilang minuto:

pampublikong klase Tagal2 {
pampublikong static void main ( String [ ] args ) {
Tagal dur = Tagal.mula ( ChronoUnit.HOURS.getDuration ( ) ) ;
System.out.println ( 'Ang tagal sa minuto ay -> ' +dur.toMinutes ( ) ) ;
} }

Sa block ng code na ito, ilapat ang pinagsamang “ mula sa() 'at' getDuration() ” mga paraan upang makuha ang tagal sa mga oras. Pagkatapos nito, iugnay ang ' toMinutes() ” paraan upang ibalik ang tagal sa mga minuto sa halip.

Output

Sa output sa itaas, makikita na ang kaukulang minuto sa isang oras ay kinukuha nang naaangkop.

Konklusyon

Tagal ” ay ang value-based na klase sa Java time library na ginagamit upang sukatin ang oras sa mga segundo at nanosecond. Gayundin, maaari itong i-invoke gamit ang iba pang mga unit na nakabatay sa tagal, ibig sabihin, 'mga minuto' at 'mga oras'. Maaaring gamitin ang klase na ito upang kalkulahin ang mga pagkakaiba ng oras sa pagitan ng mga time frame o ibalik ang tagal sa isang partikular na format, ibig sabihin, ' minuto ”. Ipinakita ng artikulong ito ang paggamit ng Java 'Duration Class'.