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#getOffset(int, %20int, %20int, %20int, %20int)