Java SimpleTimeZone getOffset()方法与示例
SimpleTimeZone类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(intage's,intyy,intmm,intdd,intdow,intms)方法用于获取本地时间和UTC之间的毫秒数变化。
getOffset(longdd)方法用于返回给定日期(dd)处此简单时区与UTC的偏移量。
这些方法在获取偏移量时可能会引发异常。
IllegalArgumentException:当任何参数不在范围内时,可能引发此异常。
这些是非静态方法,并且只能通过类对象进行访问,如果尝试使用类名称访问这些方法,则会收到错误消息。
参数:
在第一种情况下,getOffset(intage's,intyy,intmm,intdd,intdow,intms)“
intage's–代表指定日期的时代。
intyy–表示指定日期的年份。
intmm–表示指定日期的月份。
intdd–表示指定日期的星期几。
intdow–表示指定日期的年份。
intms–表示标准本地时间的毫秒数。
在第二种情况下,getOffset(longdd),
longdd–代表日期,以毫秒为单位。
返回值:
在两种情况下,方法的返回类型均为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