Java ZonedDateTime isSupported()方法及示例

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)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程