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

📅  最后修改于: 2022-05-13 01:55:47.621000             🧑  作者: Mango

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

在 LocalDate 类中,根据传递给它的参数,有两种类型的 isSupported() 方法。

isSupported(TemporalField 字段)

LocalDate类的isSupported()方法用于检查指定字段是否被 LocalDate 类支持,这意味着使用该方法我们可以检查是否可以针对指定字段查询此 LocalDate。

ChronoField 支持的字段有:

  • 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
  • 时代

所有其他 ChronoField 实例将返回 false。

句法:

public boolean isSupported(TemporalField field)

参数:此方法接受一个参数字段,该字段是要检查的字段。

返回值:如果此 LocalDate 支持该字段,则此方法返回布尔值 true,否则返回 false。

下面的程序说明了 isSupported() 方法:

方案一:

// Java program to demonstrate
// LocalDate.isSupported() method
  
import java.time.*;
import java.time.temporal.ChronoField;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a LocalDate object
        LocalDate lt
            = LocalDate.parse("2018-11-03");
  
        // check YEAR_OF_ERA is supported in LocalDate
        boolean value
            = lt.isSupported(ChronoField.YEAR_OF_ERA);
  
        // print result
        System.out.println("YEAR_OF_ERA Field is supported: "
                           + value);
    }
}
输出:
YEAR_OF_ERA Field is supported: true

isSupported(时间单位单位)

LocalDate类的isSupported()方法,用于检查指定的单位是否被 LocalDate 类支持,这意味着使用该方法我们可以检查是否可以为指定的单位查询这个 LocalDate。

ChronoUnit 支持的字段有:

  • 周数
  • 几个月
  • 几十年
  • 世纪
  • 千年
  • ERAS

所有其他 ChronoUnit 实例将返回 false。

句法:

public boolean isSupported(TemporalUnit unit)

参数:此方法接受一个参数单位,即要检查的单位。

返回值:如果此 LocalDate 支持该字段,则此方法返回布尔值 true,否则返回 false。

下面的程序说明了 isSupported() 方法:

方案一:

// Java program to demonstrate
// LocalDate.isSupported() method
  
import java.time.*;
import java.time.temporal.ChronoUnit;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create a LocalDate object
        LocalDate lt
            = LocalDate.parse("2018-12-29");
  
        // check CENTURIES ChronoUnit supported in LocalDate
        boolean value
            = lt.isSupported(ChronoUnit.CENTURIES);
  
        // print result
        System.out.println("ChronoUnit CENTURIES is  supported: "
                           + value);
    }
}
输出:
ChronoUnit CENTURIES is  supported: true

参考: https: Java Java/10/docs/api/ Java Java.time.temporal.TemporalUnit)