Java TimeZone ``getOffset()`` 方法用法与代码示例


发布日期 : 2022-07-31 23:03:55 UTC

访问量: 10 次浏览

Java TimeZone getOffset(int, int, int, int, int, int)方法及实例

Java中TimeZone类getOffset(int era, int yr, int mon, int day, int dayOfWeek, int millisec)
方法用于了解该时区在某一特定日期或在夏令时的修改日期与UTC或世界时间协调的偏移值。这个偏移值可以用来获取本地时间。

语法

public abstract int
getOffset(int era, int yr,
int mon, int day,
int dayOfWeek, int millisec)

参数:该方法可以接受下面提到的参数。

  • era:这是一个整数类型的参数,指的是给定日期的年代。
  • yr:这是一个整数类型,指的是给定日期中的年份。
  • mon:这是一个整数类型,指的是给定日期中的月份。
  • day:这是一个整数类型,指的是给定日期的月中天。
  • dayOfWeek:这是一个整数类型,指的是给定日期的星期数。
  • milliseconds:这是一个整数类型,指的是标准当地时间中一天的毫秒数。

返回值:该方法返回以毫秒为单位的偏移值,该偏移值可以添加到GMT中以获得本地时间。

下面的程序说明了时区getOffset()方法的工作原理:

例1:

// Java code to illustrate getOffset() method

import java.util.*;

public class TimeZoneDemo {
    public static void main(String args[])
    {

        // Creating a TimeZone
        TimeZone offtime_zone
            = TimeZone.getTimeZone("Europe/Rome");

        // Checking the offset for the systems date
        System.out.println("The Offset Value is:"
                           + offtime_zone.getOffset(
                                 1, 2018, 5, 12, 2, 500));
    }
}

输出:

The Offset Value is:7200000

例2:

// Java code to illustrate getOffset() method

import java.util.*;

public class TimeZoneDemo {
    public static void main(String args[])
    {

        // Creating a TimeZone
        TimeZone offtime_zone
            = TimeZone.getTimeZone("Pacific/Pago_Pago");

        // Checking the offset for the systems date
        System.out.println("The Offset Value is:"
                           + offtime_zone.getOffset(
                                 1, 1995, 9, 20, 2, 700));
    }
}

输出:

The Offset Value is:-39600000

参考:
https://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html