Java SimpleTimeZone 類



簡介

Java SimpleTimeZone 類是 TimeZone 的具體子類,用於表示與格里高利曆一起使用的時區。以下是關於 SimpleTimeZone 的重要幾點:

  • 該類儲存相對於 GMT 的偏移量,稱為原始偏移量。

  • 此類還儲存夏令時計劃的開始和結束規則。

類宣告

以下是java.util.SimpleTimeZone類的宣告:

public class SimpleTimeZone
   extends TimeZone

欄位

以下是java.util.SimpleTimeZone類的欄位:

  • static int STANDARD_TIME - 這是指定為標準時間的開始或結束時間模式的常量。

  • static int UTC_TIME - 這是指定為 UTC 的開始或結束時間模式的常量。

  • static int WALL_TIME - 這是指定為掛鐘時間的開始或結束時間模式的常量。

它還包含從TimeZone類繼承的欄位。

類建構函式

序號 建構函式和描述
1

SimpleTimeZone(int rawOffset, String ID)

這將構造一個 SimpleTimeZone,其具有給定的相對於 GMT 的基準時區偏移量和時區 ID,沒有夏令時計劃。

2

SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime)

這將構造一個 SimpleTimeZone,其具有給定的相對於 GMT 的基準時區偏移量、時區 ID 和開始和結束夏令時的規則。

3

SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime, int dstSavings)

這將構造一個 SimpleTimeZone,其具有給定的相對於 GMT 的基準時區偏移量、時區 ID 和開始和結束夏令時的規則。

4

SimpleTimeZone(int rawOffset, String ID, int startMonth, int startDay, int startDayOfWeek, int startTime, int startTimeMode, int endMonth, int endDay, int endDayOfWeek, int endTime, int endTimeMode, int dstSavings)

這將構造一個 SimpleTimeZone,其具有給定的相對於 GMT 的基準時區偏移量、時區 ID 和開始和結束夏令時的規則。

類方法

序號 方法和描述
1 Object clone()

此方法返回此 SimpleTimeZone 例項的克隆。

2 boolean equals(Object obj)

此方法比較兩個 SimpleTimeZone 物件的相等性。

3 int getDSTSavings()

此方法返回在夏令時期間時鐘提前的時間量(以毫秒為單位)。

4 int getOffset(int era, int year, int month, int day, int dayOfWeek, int millis)

此方法返回對於指定的日期和時間,本地時間與 UTC 之間的毫秒差,同時考慮原始偏移量和夏令時的影響。

5 int getRawOffset()

此方法獲取此時區的 GMT 偏移量。

6 int hashCode()

此方法生成 SimpleDateFormat 物件的雜湊碼。

7 boolean hasSameRules(TimeZone other)

如果此時區與另一個時區具有相同的規則和偏移量,則此方法返回 true。

8 boolean inDaylightTime(Date date)

此方法查詢給定日期是否處於夏令時。

9 boolean observesDaylightTime()

此方法查詢給定日期是否處於夏令時。

10 void setDSTSavings(int millisSavedDuringDST)

此方法設定在夏令時期間時鐘提前的時間量(以毫秒為單位)。

11 void setEndRule(int endMonth, int endDay, int endTime)

此方法將夏令時結束規則設定為一個月內的固定日期。

12 void setRawOffset(int offsetMillis)

此方法將基準時區偏移量設定為 GMT。

13 void setStartRule(int startMonth, int startDay, int startTime)

此方法將夏令時開始規則設定為一個月內的固定日期。

14 void setStartYear(int year)

此方法設定夏令時開始年份。

15 String toString()

此方法返回此時區的字串表示形式。

16 boolean useDaylightTime()

此方法查詢此時區是否使用夏令時。

繼承的方法

此類繼承自以下類的方法:

  • java.util.TimeZone
  • java.util.Object

獲取夏令時期間時間差示例

以下示例顯示了使用 Java SimpleTimeZone getDSTSavings() 方法獲取夏令時期間時間差的方法。我們使用美國建立了一個 SimpleTimeZone,然後列印了節省的時間差。

package com.tutorialspoint;

import java.util.SimpleTimeZone;

public class SimpleTimeZoneDemo {
   public static void main( String args[] ) {
      
      // create simple time zone object 
      SimpleTimeZone stobj = new SimpleTimeZone(720,"US");

      // check DST saving
      System.out.println("DST saving : " + stobj.getDSTSavings());
   }    
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果。

DST saving : 0
廣告