getOffset()
方法语法:
public 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)方法用于获取本地时间和UTC之间的毫秒数变化。
getOffset(long dd)方法用于返回给定日期(dd)处此简单时区与UTC的偏移量。
这些方法在获取偏移量时可能会引发异常。
IllegalArgumentException:当任何参数不在范围内时,可能引发此异常。
这些是非静态方法,并且只能通过类对象进行访问,如果尝试使用类名称访问这些方法,则会收到错误消息。
参数:
在第一种情况下,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-将返回的毫秒数添加到UTC以获取本地时间。
示例
//Java程序演示示例 //的getOffset()的SimpleTimeZone的方法 import java.util.*; public class GetOffsetOfSimpleTimeZone { public static void main(String args[]) { //实例化SimpleTimeZone对象 SimpleTimeZone s_tz = new SimpleTimeZone(360, "FRANCE"); //显示s_tz- System.out.println("s_tz: " + s_tz); //通过使用getOffset()方法是 //根据给定参数获取偏移量 System.out.print("s_tz.getOffset(era's, yy, mm,dd,dow,time): "); System.out.println(s_tz.getOffset(1, 2009, 3, 3, 3, 100)); //通过使用getOffset()方法是 //获取给定日期的偏移量 System.out.print("s_tz.getOffset(long d): "); System.out.println(s_tz.getOffset(Calendar.ZONE_OFFSET)); } }
输出结果
s_tz: java.util.SimpleTimeZone[id=FRANCE,offset=360,dstSavings=3600000,useDaylight=false,startYear=0,startMode=0,startMonth=0,startDay=0,startDayOfWeek=0,startTime=0,startTimeMode=0,endMode=0,endMonth=0,endDay=0,endDayOfWeek=0,endTime=0,endTimeMode=0] s_tz.getOffset(era's, yy, mm,dd,dow,time): 360 s_tz.getOffset(long d): 360