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
广告