getOffset()
方法语法:
public abstract int getOffset(int era's , int yy, int mm, int dd, int DOW, int ms); public int getOffset(long dd);
getOffset()方法在java.util包中可用。
getOffset(int age's,int yy,int mm,int dd,int dow,int ms)方法用于返回该模式为夏令时时当前日期的时区偏移量。
getOffset(long dd)方法用于返回该时区的偏移量,该偏移量是根据给定日期(dd)的UTC计算的。
这些方法在获取偏移量时不会引发异常。
这些是非静态方法,只能通过类对象访问,如果尝试使用类名称访问这些方法,则会收到错误消息。
参数:
在第一种情况下,getOffset(int age's,int yy,int mm,int dd,int dow,int ms)“
int age's –代表指定日期的时代。
int yy –表示指定日期的年份。
int mm –表示指定日期的月份。
int dd –表示指定日期的星期几。
int dow –表示指定日期的年份。
int ms –表示标准本地时间的毫秒数。
在第二种情况下,getOffset(long dd),
long dd –代表日期,以毫秒为单位。
返回值:
在这两种情况下,方法的返回类型均为int –返回以ms为单位的偏移量,以添加默认时区(GMT)以返回本地时间。
示例
//Java程序演示示例 //时区getOffset()方法的说明 import java.util.*; public class GetOffsetOfTimeZone { public static void main(String args[]) { //实例化TimeZone对象 TimeZone tz = TimeZone.getTimeZone("Africa/Asmera"); //显示tz- System.out.println("tz: " + tz); //通过使用getOffset()方法是 //根据给定的偏移量 //参数 System.out.print("tz.getOffset(era's, yy, mm,dd,dow,time): "); System.out.println(tz.getOffset(1, 2009, 3, 3, 3, 100)); //通过使用getOffset()方法是 //根据给定的偏移量 //日期 System.out.print("tz.getOffset(long d): "); System.out.println(tz.getOffset(Calendar.ZONE_OFFSET)); } }
输出结果
tz: sun.util.calendar.ZoneInfo[id="Africa/Asmera",offset=10800000,dstSavings=0,useDaylight=false,transitions=6,lastRule=null] tz.getOffset(era's, yy, mm,dd,dow,time): 10800000 tz.getOffset(long d): 10800000