Java TimeZone inDaylightTime()方法及示例

TimeZone类inDaylightTime()方法

  • inDaylightTime()方法在java.util包中可用。

  • inDaylightTime()方法用于检查给定日期(d)是否在此TimeZone中处于夏时制(DST)中。

  • inDaylightTime()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • inDaylightTime()方法在白天检查日期时不会引发异常。

语法:

    public abstract boolean inDaylightTime(Date d);

参数:

  • 日期d –表示日期。

返回值:

该方法的返回类型为boolean,当给定日期为DST(夏令时)时返回true,否则返回false。

示例

//Java程序演示示例 
//inDaylightTime(Date d)的布尔值
//时区的方法 

import java.util.*;

public class InDaylightTimeOfTimeZone {
    public static void main(String args[]) {
        //实例化两个TimeZone对象
        TimeZone tz1 = TimeZone.getTimeZone("Africa/Asmera");
        TimeZone tz2 = TimeZone.getDefault();
        Date d = new Date(2010, 02, 20);

        //显示tz1,tz1-
        System.out.println("tz1: " + tz1);
        System.out.println("tz2: " + tz2);

        //通过使用inDaylightTime()方法是
        //检查时区是否在白天
        //时间是否到

        boolean status1 = tz1.inDaylightTime(d);
        boolean status2 = tz2.inDaylightTime(d);

        System.out.print("tz1.inDaylightTime(d): ");
        System.out.println(status1);

        System.out.print("tz1.inDaylightTime(d): ");
        System.out.println(status2);
    }
}

输出结果

tz1: sun.util.calendar.ZoneInfo[id="Africa/Asmera",offset=10800000,dstSavings=0,useDaylight=false,transitions=6,lastRule=null]
tz2: sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
tz1.inDaylightTime(d): false
tz1.inDaylightTime(d): false