Java SimpleTimeZone getOffset()方法及示例
在SimpleTimeZone类中,有两种类型的getOffset()方法,取决于传递给它的参数。
getOffset(int era, int year, int month, int day, int dayOfWeek, int millis)
SimpleTimeZone类 的 getOffset() 方法用于返回本地时间和UTC之间的差异,同时考虑到原始偏移和日光节约的影响。这个计算是以毫秒为单位进行的。
语法
public int getOffset(int era,
                     int year,
                     int month,
                     int day,
                     int dayOfWeek,
                     int millis)
参数: 该函数接受6个参数。
- era- 指定给定日期的年代。
 - year– 指定给定日期的年份。
 - month– 指定给定日期中的月份。
 - day- 指定给定日期的月中天。
 - dayOfweek- 指定给定日期的星期数。
 - millis- 指定标准当地时间中的日的毫秒数。
 
返回值: 它返回以毫秒为单位的时间量,与UTC相加,得到当地时间。
异常: 如果election、month、day、dayOfWeek或millis参数超出范围,该函数会抛出一个 IllegalArgumentException 的异常。
下面的程序演示了上述函数。
程序1:
// program to demonstrate the
// function java.util.SimpleTimeZone.getOffset()
  
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // create simple time zone object
        SimpleTimeZone obj
            = new SimpleTimeZone(520, "US");
  
        // get offset on object obj
        int off
            = obj
                  .getOffset(GregorianCalendar.AD,
                             1000,
                             10,
                             2,
                             4,
                             6000);
  
        // print offset value
        System.out.println("Offset = "
                           + off);
    }
}
输出:
Offset = 520
程序2。
// program to demonstrate the
// function java.util.SimpleTimeZone.getOffset()
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // create simple time zone object
        SimpleTimeZone obj
            = new SimpleTimeZone(780, "US");
  
        // get offset on object obj
        int off
            = obj
                  .getOffset(GregorianCalendar.AD,
                             1000,
                             10,
                             2,
                             4,
                             6000);
  
        // print offset value
        System.out.println("Offset = "
                           + off);
    }
}
输出:
Offset = 780
getOffset(long date)
SimpleTimeZone类 的 getOffset() 方法用于返回该时区在给定时间内与UTC的偏差。
语法
public int getOffset(long date)
参数: 该函数接受一个参数 date ,它指定了找到时区偏移的时间。
返回值: 它返回在UTC上添加的时间量(毫秒),以获得本地时间。
异常: 该函数没有抛出任何异常。
下面的程序演示了上述函数。
程序1:
// program to demonstrate the
// function java.util.SimpleTimeZone.getOffset()
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // create simple time zone object
        SimpleTimeZone obj
            = new SimpleTimeZone(520, "India");
  
        // get offset on object obj
        int off
            = obj
                  .getOffset(Calendar.ZONE_OFFSET);
  
        // print offset value
        System.out.println("Offset = "
                           + off);
    }
}
输出:
Offset = 520
程序2。
// program to demonstrate the
// function java.util.SimpleTimeZone.getOffset()
import java.util.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // create simple time zone object
        SimpleTimeZone obj
            = new SimpleTimeZone(600, "India");
  
        // get offset on object obj
        int off
            = obj
                  .getOffset(Calendar.ZONE_OFFSET);
  
        // print offset value
        System.out.println("Offset = "
                           + off);
    }
}
输出:
Offset = 600
极客教程