📌  相关文章
📜  Java中的 SimpleTimeZone getOffset() 方法及示例

📅  最后修改于: 2022-05-13 01:55:38.849000             🧑  作者: Mango

Java中的 SimpleTimeZone getOffset() 方法及示例

在 SimpleTimeZone 类中,根据传递给它的参数,有两种类型的 getOffset() 方法。

getOffset(int 时代,int 年,int 月,int 日,int dayOfWeek,int millis)

SimpleTimeZone 类getOffset()方法用于返回本地时间和 UTC 之间的差异,同时考虑到原始偏移量和夏令时的影响。此计算以毫秒为单位完成。
句法:

public int getOffset(int era,
                     int year,
                     int month,
                     int day,
                     int dayOfWeek,
                     int millis)

参数:该函数接受6个参数:

  • 时代- 指定给定日期的时代。
  • year-指定给定日期的年份。
  • - 指定给定日期中的月份。
  • day-指定给定日期的月份中的哪一天。
  • dayOfweek-指定给定日期的星期几。
  • millis-指定标准本地时间的毫秒数。

返回值:它返回添加到 UTC 以获取本地时间的时间量(以毫秒为单位)。

异常:如果 era、month、day、dayOfWeek 或 millis 参数超出范围,则该函数将引发单个异常IllegalArgumentException

下面的程序演示了上述函数:

方案一:

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

方案二:

// 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(长日期)

SimpleTimeZone 类getOffset()方法用于返回该时区在给定时间与 UTC 的偏移量。

句法:

public int getOffset(long date)

参数:该函数接受单个参数date ,该参数指定找到时区偏移的时间。

返回值:它返回添加到 UTC 以获取本地时间的时间量(以毫秒为单位)。

异常:该函数不抛出任何异常。

下面的程序演示了上述函数:

方案一:

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

方案二:

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