Java TimeZone getOffset()方法与示例
TimeZone类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(intage's,intyy,intmm,intdd,intdow,intms)方法用于返回该模式为夏令时时当前日期的时区偏移量。
getOffset(longdd)方法用于返回该时区的偏移量,该偏移量是根据给定日期(dd)的UTC计算的。
这些方法在获取偏移量时不会引发异常。
这些是非静态方法,只能通过类对象访问,如果尝试使用类名称访问这些方法,则会收到错误消息。
参数:
在第一种情况下,getOffset(intage's,intyy,intmm,intdd,intdow,intms)“
intage's–代表指定日期的时代。
intyy–表示指定日期的年份。
intmm–表示指定日期的月份。
intdd–表示指定日期的星期几。
intdow–表示指定日期的年份。
intms–表示标准本地时间的毫秒数。
在第二种情况下,getOffset(longdd),
longdd–代表日期,以毫秒为单位。
返回值:
在这两种情况下,方法的返回类型均为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