搜尋
首頁Javajava教程Java 持續時間

Java 持續時間

Aug 30, 2024 pm 03:52 PM
java

java中的Duration是一個用來測量以秒和奈秒為單位的時間的類別。 java中duration類別的套件是java.time.Duration。 Duration 類別物件指定時間段或用於確定兩個時間之間的差異。 Duration 物件是不可變的且是線程安全的,因為 Duration 物件是不可變的,因此一旦創建它,我們就無法更改它的值。但是,我們可以基於另一個 Duration 物件建立新的 Duration 物件。 Duration 類別繼承了一個物件類別(因為物件是 java 中所有類別的超類別)並實作了 Comparable 介面。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

文法

java中Duration類別宣告的語法是:

public final class Duration extends Object implements Comparable ,
TemporalAmount, Serializable
{
//
variables and method of the class Duration}

持續時間列表

Duration 類別方法清單在下面透過範例程式碼進行了解釋;範例程式碼可以進一步用於類似的方法(對於未給出的每個方法範例程式碼):

  • Duration abs():此方法傳回此持續時間的副本,其長度為正。
  • long get(TemporalUnit unit):傳回請求單位的值。
  • staticuration Between(Temporal startInclusive, Temporal endExclusive):傳回duration對象,即兩個時間對象之間的持續時間。

範例#1

我們透過下面的範例java程式碼來理解上述方法。

代碼:

package p1;
import java.time.Duration;
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;
public class DurationClassDemo {
public static void main(String[] args) {
Duration d = Duration.between(LocalTime.MAX,LocalTime.MIN);
System.out.println(d.get(ChronoUnit.SECONDS));
Duration absd = d.abs();
System.out.println(absd.get(ChronoUnit.SECONDS));
}
}

輸出:

Java 持續時間

  • Temporal addTo(Temporaltemporal):傳回duration對象,即temporal與thisduration物件相加。
  • Duration splitBy(long divisor):返回duration對象,即這個duration除以除數。

範例#2

我們透過下面的範例java程式碼來理解上述方法:

代碼:

package p1;
import java.time.Duration;
import java.time.*;
import java.time.temporal.ChronoUnit;
public class DurationClassDemo {
public static void main(String[] args) {
Duration d = Duration.between(LocalTime.MAX,LocalTime.MIN);
LocalDateTime date = LocalDateTime.now();
System.out.println(date);
date = (LocalDateTime)d.addTo(date);
System.out.println(date);
Duration d1 = d.dividedBy(4);
System.out.println(d1);
System.out.println(d.getSeconds());
System.out.println(d1.getSeconds());
}
}

輸出:

Java 持續時間

  • intcompareTo(Duration otherDuration):此時長與指定時長比較。
  • boolean equals(Object otherDuration):檢查指定 Duration 的持續時間並傳回布林值。
  • boolean isNegative():如果此持續時間為負數,則傳回 True。
  • boolean isZero():如果此持續時間長度為零,則傳回 True。

範例#3

我們透過下面的範例java程式碼來理解上述方法:

代碼:

package p1;
import java.time.Duration;
import java.time.*;
import java.time.temporal.ChronoUnit;
public class DurationClassDemo {
public static void main(String[] args) {
Duration d = Duration.between(LocalTime.NOON,LocalTime.MAX);
Duration d1 = Duration.between(LocalTime.NOON,LocalTime.MIN);
System.out.println(d1.getSeconds());
System.out.println(d.compareTo(d1));
System.out.println(d1.compareTo(d1));
System.out.println(d1.compareTo(d));
System.out.println(d1.equals(d));
System.out.println(d1.isNegative());
System.out.println(d1.isZero());
}
}

輸出:

Java 持續時間

  • 靜態持續時間 from(TemporalAmount amount):從時間量取得持續時間實例。

範例#4

我們透過下面的範例java程式碼來理解上述方法:

代碼:

package p1;
import java.time.Duration;
import java.time.*;
import java.time.temporal.ChronoUnit;
public class DurationClassDemo {
public static void main(String[] args) {
Duration d = Duration.from(ChronoUnit.DAYS.getDuration());
System.out.println(d.toMinutes());
}
}

輸出:

Java 持續時間

  • int getNano():傳回以奈秒為單位的持續時間。
  • long getSeconds():傳回以秒為單位的持續時間。
  • 清單 getUnits(): 傳回此持續時間支援的單位集。
  • int hashCode():傳回此持續時間的雜湊程式碼。

範例#5

我們透過下面的範例java程式碼來理解上述方法:

代碼:

package p1;
import java.time.Duration;
import java.time.*;
import java.time.temporal.ChronoUnit;
public class DurationClassDemo {
public static void main(String[] args) {
Duration d = Duration.between(LocalTime.NOON,LocalTime.MAX);
System.out.println(d.getUnits());
System.out.println(d.toMinutes());
System.out.println(d.getSeconds());
System.out.println(d.getNano());
System.out.println(d.getClass());
}
}

輸出:

Java 持續時間

  • Duration minus(Duration duration):- Returns object which results from this duration subtracted with the specified duration.
  • Duration minus(long amountToSubtract, TemporalUnit unit): Returns object resulting from this duration subtracted with the specified duration.
  • Duration minusDays(long daysToSubtract): Returns object which results from this duration subtracted with the specified duration in standard 24-hour days.
  • Duration minusHours(long hoursToSubtract): Returns object resulting from this duration subtracted with the specified duration in hours.
  • Duration minusMillis(long millisToSubtract): Returns object resulting from this duration subtracted with the specified duration in milliseconds.
  • Duration minusMinutes(long minutesToSubtract): Returns object resulting from this duration subtracted with the specified duration in minutes.
  • Duration minusNanos(long nanosToSubtract): Returns object resulting from this duration subtracted with the specified duration in nanoseconds.
  • Duration minusSeconds(long secondsToSubtract): Returns object resulting from this duration subtracted with the specified duration in seconds.
  • Duration multipliedBy(long multiplicand): Returns object resulting from this duration multiplied by the scalar.
  • Duration negated() – Returns object which results from this duration with the length negated.
  • static duration of(long amount, TemporalUnit unit): Returns Duration object representing an amount in the specified unit.
  • static Duration ofDays(long days): Returns Duration object of standard 24-hour days.
  • static Duration ofHours(long hours): Returns Duration object of the hour.
  • static Duration ofMillis(long millis): Returns Duration object of milliseconds.
  • static Duration ofMinutes(long minutes): Returns Duration object of minutes.
  • static Duration ofNanos(long nanos): Returns Duration object of nanoseconds.
  • static Duration ofSeconds(long seconds): Returns Duration object of seconds.
  • static Duration ofSeconds(long seconds, long nanoAdjustment): Returns Duration object of seconds and nanoseconds adjustment.

Example #6

We understand the above methods with the below sample java code:

Code:

package p1;
import java.time.Duration;
import java.time.*;
import java.time.temporal.ChronoUnit;
public class DurationClassDemo {
public static void main(String[] args) {
Duration d = Duration.ofDays(6);
System.out.println(d.getSeconds());
Duration d1 = d.minusDays(3);
System.out.println(d1.getSeconds());
d = Duration.ofHours(6);
System.out.println(d.getSeconds());
d1 = d.minusHours(2);
System.out.println(d1.getSeconds());
}
}

Output:

Java 持續時間

  • static Duration parse(CharSequence text): Return duration object from a text, for example, PnDTnHnMn.nS.
  • Duration plus(Duration duration): Return the duration object of this duration with added the specified duration.
  • Duration plus(long amountToAdd, TemporalUnit unit): Return the duration object of this duration with add the specified duration.
  • Duration plusDays(long daysToAdd): Return the duration object of this duration with add the specified duration in 24-hour days.
  • Duration plusHours(long hoursToAdd): Return the duration object of this duration with add the specified duration in hours.
  • Duration plusMillis(long millisToAdd): Return the duration object of this duration with add the specified duration in milliseconds.
  • Duration plusMinutes(long minutesToAdd): Return the duration object of this duration with the add specified duration in minutes.
  • Duration plusNanos(long nanosToAdd): Return the duration object of this duration with add the specified duration in nanoseconds.
  • Duration plusSeconds(long secondsToAdd): Return the duration object of this duration with the specified duration in seconds.

Example #7

We understand the above methods with the below sample java code:

Code:

package p1;
import java.time.Duration;
import java.time.*;
import java.time.temporal.ChronoUnit;
public class DurationClassDemo {
public static void main(String[] args) {
Duration d = Duration.ofDays(6);
System.out.println(d.getSeconds());
Duration d1 = d.plusDays(2);
System.out.println(d1.getSeconds());
d = Duration.ofHours(6);
System.out.println(d.getSeconds());
d1 = d.plusHours(2);
System.out.println(d1.getSeconds());
}
}

Output:

Java 持續時間

  • Temporal subtractFrom(Temporal temporal): Return Subtraction of this duration from the temporal object.
  • long toDays(): Return the number of days in this duration.
  • long toHours(): Return the number of hours in this duration.
  • long toMillis(): Return the number of milliseconds in this duration.
  • long toMinutes(): return the number of minutes in this duration.
  • long toNanos(): return the number of nanoseconds in this duration.
  • String toString(): Return this duration in string representation, such as PT8H6M12.345S.

Example #8

We understand the above methods with the below sample java code:

Code:

package p1;
import java.time.Duration;
import java.time.*;
import java.time.temporal.ChronoUnit;
public class DurationClassDemo {
public static void main(String[] args) {
Duration d = Duration.ofDays(6);
System.out.println(d.toHours());
Duration d1 =Duration.ofHours(24) ;
System.out.println(d1.toDays());
}
}

Output:

Java 持續時間

  • Duration withNanos(int nanoOfSecond): Returns duration object with the specified nanoofsecond.
  • Duration withSeconds(long seconds): Returns duration object of this duration with the seconds of the specified amount.

Example #9

We understand the above methods with the below sample java code:

Code:

package p1;
import java.time.Duration;
import java.time.*;
import java.time.temporal.ChronoUnit;
public class DurationClassDemo {
public static void main(String[] args) {
Duration d = Duration.ofDays(6);
System.out.println(d.toString());
d = d.withSeconds(3000);
System.out.println(d.toString());
}
}

Output:

Java 持續時間

Conclusion

The Duration class is one of the built-in class in java, which is used to measure time in seconds and nanoseconds and add, subtract, and convert the duration, or, in simple words, the duration class allows performance operation on time or day duration. The duration class is available in java.time.Duration package of java.

以上是Java 持續時間的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
poi-tl繪製雙Y軸折線圖時,為何出現折線數量翻倍?poi-tl繪製雙Y軸折線圖時,為何出現折線數量翻倍?Apr 19, 2025 pm 06:33 PM

poi-tl繪製雙Y軸折線圖時折線數量翻倍的排查在使用poi-tl庫繪製包含兩個Y軸的折線圖時,遇到一個奇怪的問題:�...

在Spring Cloud Alibaba中如何將業務模塊的Entity、Mapper、Service集中到Common模塊?在Spring Cloud Alibaba中如何將業務模塊的Entity、Mapper、Service集中到Common模塊?Apr 19, 2025 pm 06:30 PM

在SpringCloudAlibaba中如何將業務模塊的Entity、Mapper、Service集中到Common模塊?在使用SpringCloud...

Go語言如何實現國密SM4和SM2算法的加解密以及互聯互通?Go語言如何實現國密SM4和SM2算法的加解密以及互聯互通?Apr 19, 2025 pm 06:27 PM

Go語言實現國密SM4和SM2加解密本文將詳細介紹如何使用Go語言實現國密SM4和SM2算法的加解密流程,以滿足與Java應�...

在Python項目中是否需要進行分層?在Python項目中是否需要進行分層?Apr 19, 2025 pm 06:24 PM

在Python項目中是否需要分層?最近我在學習Python時,注意到Django開源項目中,很多都在views函數里編寫了大量的�...

如何使用MapStruct簡化系統對接中的字段映射問題?如何使用MapStruct簡化系統對接中的字段映射問題?Apr 19, 2025 pm 06:21 PM

系統對接中的字段映射處理在進行系統對接時,常常會遇到一個棘手的問題:如何將A系統的接口字段有效地映�...

IntelliJ IDEA是如何通過JavaAgent和RMI技術識別Spring Boot項目的端口號的?IntelliJ IDEA是如何通過JavaAgent和RMI技術識別Spring Boot項目的端口號的?Apr 19, 2025 pm 06:18 PM

IntelliJIDEA如何識別SpringBoot項目的端口號?在使用IntelliJIDEAUltimate版本啟動Spring...

高效編程:如何才能找到可靠的代碼工具和資源?高效編程:如何才能找到可靠的代碼工具和資源?Apr 19, 2025 pm 06:15 PM

高效編程:尋找可靠的代碼工具和資源很多程序員都渴望找到便捷的代碼工具網站,以提高效率,避免在海量信...

JWT能否實現動態權限變更?與Session機制有何區別?JWT能否實現動態權限變更?與Session機制有何區別?Apr 19, 2025 pm 06:12 PM

關於JWT和Session的困惑與解答許多初學者在學習JWT和Session時,常常會對其本質和適用場景感到困惑。本文將圍繞J...

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境