Java中的 ZonedDateTime isSupported() 方法及示例
在 ZonedDateTime 类中,根据传递给它的参数,有两种类型的 isSupported() 方法。
isSupported(TemporalField 字段)
ZonedDateTime 类的isSupported()方法用于检查ZonedDateTime类是否支持指定的字段,这意味着使用该方法我们可以检查是否可以针对指定的字段查询此 ZonedDateTime。
ChronoField 支持的字段有:
- NANO_OF_SECOND
- MICRO_OF_SECOND
- MILLI_OF_SECOND
- INSTANT_SECONDS
- SECOND_OF_MINUTE
- NANO_OF_DAY
- MICRO_OF_DAY
- MILLI_OF_DAY
- SECOND_OF_DAY
- MINUTE_OF_HOUR
- MINUTE_OF_DAY
- HOUR_OF_AMPM
- CLOCK_HOUR_OF_AMPM
- HOUR_OF_DAY
- CLOCK_HOUR_OF_DAY
- AMPM_OF_DAY
- DAY_OF_WEEK
- ALIGNED_DAY_OF_WEEK_IN_MONTH
- ALIGNED_DAY_OF_WEEK_IN_YEAR
- DAY_OF_MONTH
- DAY_OF_YEAR
- EPOCH_DAY
- ALIGNED_WEEK_OF_MONTH
- ALIGNED_WEEK_OF_YEAR
- MONTH_OF_YEAR
- PROLEPTIC_MONTH
- YEAR_OF_ERA
- 年
- 时代
- INSTANT_SECONDS
- OFFSET_SECONDS
所有其他 ChronoField 实例将返回 false。
句法:
public boolean isSupported(TemporalField field)
参数:此方法接受一个参数字段,该字段是要检查的字段。
返回值:如果此日期时间支持该字段,则此方法返回布尔值 true,否则返回 false。
下面的程序说明了 isSupported() 方法:
方案一:
// Java program to demonstrate
// ZonedDateTime.isSupported() method
import java.time.*;
import java.time.temporal.ChronoField;
public class GFG {
public static void main(String[] args)
{
// create a ZonedDateTime object
ZonedDateTime zdt
= ZonedDateTime
.parse(
"2018-12-06T19:21:12.123+05:30[Asia/Calcutta]");
// check ALIGNED_WEEK_OF_YEAR
// is supported in ZonedDateTime
boolean value
= zdt.isSupported(
ChronoField.ALIGNED_WEEK_OF_YEAR);
// print result
System.out.println("ALIGNED_WEEK_OF_YEAR "
+ "Field is supported: "
+ value);
}
}
输出:
ALIGNED_WEEK_OF_YEAR Field is supported: true
isSupported(时间单位单位)
ZonedDateTime 类的isSupported()方法,用于检查ZonedDateTime类是否支持指定的单位,这意味着使用该方法我们可以检查是否可以针对指定的单位查询此 ZonedDateTime。
ChronoUnit 支持的字段有:
- 纳诺斯
- 微信
- 米利斯
- 秒
- 分钟
- 小时
- HALF_DAYS
- 天
- 周数
- 几个月
- 年
- 几十年
- 世纪
- 千年
- ERAS
所有其他 ChronoUnit 实例将返回 false。
句法:
public boolean isSupported(TemporalUnit unit)
参数:此方法接受一个参数单位,即要检查的单位。
返回值:如果此日期时间支持该字段,则此方法返回布尔值 true,否则返回 false。
下面的程序说明了 isSupported() 方法:
方案一:
// Java program to demonstrate
// ZonedDateTime.isSupported() method
import java.time.*;
import java.time.temporal.ChronoUnit;
public class GFG {
public static void main(String[] args)
{
// create a ZonedDateTime object
ZonedDateTime lt
= ZonedDateTime
.parse(
"2018-12-06T19:21:12.123+05:30[Asia/Calcutta]");
// check MILLENNIA ChronoUnit supported
// in ZonedDateTime
boolean value
= lt.isSupported(ChronoUnit.MILLENNIA);
// print result
System.out.println("ChronoUnit MILLENNIA "
+ "is supported: "
+ value);
}
}
输出:
ChronoUnit MILLENNIA is supported: true
参考:
- https://docs.oracle.com/javase/10/docs/api/java Java Java)
- https://docs.oracle.com/javase/10/docs/api/java Java Java)