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(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