📜  Java中的 TimeZone inDaylightTime() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:31:55.922000             🧑  作者: Mango

Java中的 TimeZone inDaylightTime() 方法及示例

简介

Java中的 TimeZone类是用来处理时区相关的类,其中inDaylightTime()方法可以判断当前时区是否处于夏令时。返回值为boolean类型。

用法

以下是inDaylightTime()方法的用法:

TimeZone tz = TimeZone.getTimeZone("America/New_York"); // 获取纽约时区对象
boolean daylight = tz.inDaylightTime(new Date()); // 获取当前时间是否处于夏令时
示例

以下是一个完整的使用inDaylightTime()方法的示例:

import java.util.*;

public class Main {
  public static void main(String[] args) {
    // 获取纽约和东京时区对象
    TimeZone nyTimeZone = TimeZone.getTimeZone("America/New_York");
    TimeZone tokyoTimeZone = TimeZone.getTimeZone("Asia/Tokyo");

    // 创建Calendar对象
    Calendar calendar = Calendar.getInstance();

    // 设置时间为2022年7月1日,12:00:00
    calendar.set(2022, Calendar.JULY, 1, 12, 0, 0);

    // 判断纽约时间是否处于夏令时
    boolean nyDaylight = nyTimeZone.inDaylightTime(calendar.getTime());

    // 判断东京时间是否处于夏令时
    boolean tokyoDaylight = tokyoTimeZone.inDaylightTime(calendar.getTime());

    System.out.println("纽约时区是否处于夏令时:" + nyDaylight);
    System.out.println("东京时区是否处于夏令时:" + tokyoDaylight);
  }
}

上述代码输出的结果为:

纽约时区是否处于夏令时:true
东京时区是否处于夏令时:false

这说明在2022年7月1日12:00:00时刻,纽约处于夏令时,而东京不处于夏令时。