Java程式獲取兩個時間點之間的毫秒數
在本文中,我們將演示如何使用ChronoUnit 類計算兩個Instant 物件之間以毫秒為單位的差值。它展示瞭如何在java.time 包中使用基於時間類,特別側重於建立和操作時間點以及計算它們之間的時間差。
ChronoUnit: 一組標準的日期和時間單位,允許您操作日期、時間和日期時間。這些單位,例如年、月和日,旨在適用於各種日曆系統,儘管具體規則可能略有不同。您還可以透過實現TemporalUnit 介面來擴充套件這些單位。
問題陳述
使用 Java 的 Instant、Duration 和 ChronoUnit 類計算兩個特定時間點之間以毫秒為單位的時間差
輸出
Milliseconds between two time instants = 18050000
獲取兩個時間點之間毫秒數的步驟
以下是獲取兩個時間點之間毫秒數的步驟:
- 從java.time 包匯入必要的類。
- 建立初始時間點,使用Instant.now()捕獲當前時間time1。
- 透過使用plus() 方法向 time1 新增 5 小時 50 秒來建立第二個時間點time2。
- 定義持續時間為 13 秒。
- 將此持續時間新增到time1以獲取新的時間點i。
- 使用ChronoUnit.MILLIS.between()查詢time1和time2之間以毫秒為單位的差值。
- 列印結果
Java程式獲取兩個時間點之間的毫秒數
以下是獲取兩個時間點之間毫秒數的Java程式:
import java.time.Duration;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
public class Demo {
public static void main(String[] args) {
Instant time1 = Instant.now();
Instant time2 = time1.plus(5, ChronoUnit.HOURS).plus(50, ChronoUnit.SECONDS);
Duration duration = Duration.ofSeconds(13);
Instant i = time1.plus(duration);
System.out.println("Milliseconds between two time instants = " +
ChronoUnit.MILLIS.between(time1, time2));
}
}
輸出
Milliseconds between two time instants = 18050000
程式碼解釋
該程式從java.time 包匯入類以處理時間點和持續時間。它首先使用Instant.now()建立一個表示當前時刻的時間點time1。
首先,建立兩個時間點:
Instant time1 = Instant.now(); Instant time2 = time1.plus(5, ChronoUnit.HOURS).plus(50, ChronoUnit.SECONDS);
然後,透過使用 Instant 類的plus()方法向time1新增 5 小時 50 秒來建立第二個時間點time2。定義一個長度為 13 秒的Duration 物件,然後將其新增到time1以建立另一個時間點i。
Duration duration = Duration.ofSeconds(13);
Instant i = time1.plus(duration);
System.out.println("Milliseconds between two time instants = "+ChronoUnit.MILLIS.between(time1, time2));
為了確定time1和time2之間以毫秒為單位的時間差,使用了ChronoUnit.MILLIS.between()方法。列印結果,顯示兩個時間點之間以毫秒為單位的總時間差。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP