Java ZonedDateTime isSupported()方法及示例
在ZonedDateTime类中,有两种类型的isSupported()方法,取决于传递给它的参数。
isSupported(TemporalField field)
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
- YEAR
- ERA
- INSTANT_SECONDS
- OFFSET_SECONDS
所有其他ChronoField实例将返回false。
语法
public boolean isSupported(TemporalField field)
参数: 该方法接受一个单参数 字段 ,即要检查的字段。
返回值: 如果该字段在这个日期-时间上被支持,该方法返回 布尔值 “true”,如果不支持则返回 “false”。
下面的程序说明了isSupported()方法。
程序1 :
// 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(TemporalUnit unit)
ZonedDateTime 类的 isSupported() 方法用于检查指定的单位是否被ZonedDateTime类所支持,也就是说,使用这个方法我们可以检查这个ZonedDateTime是否可以被查询到指定的单位。
ChronoUnit支持的字段是。
- NANOS
- MICROS
- MILLIS
- SECONDS
- MINUTES
- HOURS
- HALF_DAYS
- DAYS
- WEEKS
- MONTHS
- YEARS
- DECADES
- CENTURIES
- MILLENNIA
- ERAS
所有其他ChronoUnit实例将返回false。
语法
public boolean isSupported(TemporalUnit unit)
参数: 该方法接受一个单一参数 unit ,它是要检查的单位。
返回值: 如果该字段在该日期时间上被支持,该方法返回 布尔值 true,如果不支持,则返回false。
下面的程序说明了isSupported()方法。
程序1 :
// 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/time/ZonedDateTime.html#isSupported(java.time.temporal.TemporalField)
- https://docs.oracle.com/javase/10/docs/api/java/time/ZonedDateTime.html#isSupported(java.time.temporal.TemporalUnit)