📅  最后修改于: 2023-12-03 15:01:54.814000             🧑  作者: Mango
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_DAY
、ChronoField.DAY_OF_MONTH
、ChronoField.MONTH_OF_YEAR
、ChronoField.YEAR
等四种时间单元来判断该 LocalTime
对象的支持情况。其中只有 ChronoField.HOUR_OF_DAY
受支持,其他时间单元均不受支持。