Java程式計算兩個時區之間相差的秒數


在本文中,我們將學習如何使用Java計算兩個時區之間相差的秒數。我們將使用來自java.time包LocalDateTimeZoneIdZonedDateTime類來實現這一點。

問題陳述

編寫一個Java程式來計算兩個時區之間相差的秒數。

輸出

Difference between two time zones in seconds = 28800

計算兩個時區之間相差秒數的步驟

以下是計算兩個時區之間相差秒數的步驟:

  • 首先,我們將從java.time包匯入必要的類LocalDateTimeZoneIdZonedDateTime
  • 之後,我們將定義兩個時區。
  • 建立一個LocalDateTime物件來表示特定的日期和時間。
  • LocalDateTime轉換為這兩個時區的ZonedDateTime
  • 計算並列印時區之間的秒數差。

Java程式計算兩個時區之間相差的秒數

以下是計算兩個時區之間相差秒數的Java程式:

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
public class Demo {
   public static void main(String[] args) {
      ZoneId zone1 = ZoneId.of("America/Panama");
      ZoneId zone2 = ZoneId.of("Asia/Taipei");
      LocalDateTime dateTime = LocalDateTime.of(2019, 04, 11, 10, 5);
      ZonedDateTime panamaDateTime = ZonedDateTime.of(dateTime, zone1);
      ZonedDateTime taipeiDateTime = panamaDateTime.withZoneSameInstant(zone2);
      System.out.println("Difference between two time zones in seconds = "+taipeiDateTime.getOffset().getTotalSeconds());
   }
}

輸出

Difference between two time zones in seconds = 28800

程式碼解釋

該程式首先使用ZoneId類指定兩個時區,“America/Panama”和“Asia/Taipei”。我們為特定的日期和時間建立一個LocalDateTime物件,然後將其轉換為這兩個時區的ZonedDateTime。使用withZoneSameInstant方法,我們對齊時間,最後,我們使用getOffset().getTotalSeconds()計算兩個時區之間的秒數差。然後列印結果。

更新於:2024年9月16日

910 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.