📜  Java中的 LocalTime isSupported() 方法及示例(1)

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

Java中的 LocalTime isSupported() 方法及示例

简介

LocalTime 类是 Java 8 中自带的一个类,它表示不带时区的时间,并且精确到纳秒级别。它提供了一系列方法来操作时间,其中之一就是 isSupported() 方法。

isSupported() 方法的作用是判断指定的时间单元(如年、月、日等)是否受支持。如果一个时间单元不受支持,则表明该时间不包含该单元的信息。例如,一个 LocalTime 对象不包含日期信息,因此年、月、日等时间单元均不受支持。

方法签名
public boolean isSupported(TemporalField field)

该方法接受一个 TemporalField 类型的参数,表示要判断的时间单元。如果指定的时间单元受支持,则返回 true,否则返回 false

示例
import java.time.LocalTime;
import java.time.temporal.ChronoField;

public class LocalTimeDemo {
    public static void main(String[] args) {
        // 创建一个 LocalTime 对象
        LocalTime time = LocalTime.of(18, 30);

        // 判断支持哪些时间单元
        System.out.println(time.isSupported(ChronoField.HOUR_OF_DAY));
        System.out.println(time.isSupported(ChronoField.DAY_OF_MONTH));
        System.out.println(time.isSupported(ChronoField.MONTH_OF_YEAR));
        System.out.println(time.isSupported(ChronoField.YEAR));
    }
}

输出结果:

true
false
false
false

上面的示例中,我们创建了一个 LocalTime 对象,并输出了它支持哪些时间单元。由于 LocalTime 对象不包含日期信息,因此年、月、日等时间单元均不受支持,只有小时、分钟、秒等时间单元受支持。在该示例中,我们分别使用了 ChronoField.HOUR_OF_DAYChronoField.DAY_OF_MONTHChronoField.MONTH_OF_YEARChronoField.YEAR 等四种时间单元来判断该 LocalTime 对象的支持情况。其中只有 ChronoField.HOUR_OF_DAY 受支持,其他时间单元均不受支持。