Java ChronoLocalDate getLong()方法及示例
Java中ChronoLocalDate接口的getLong()方法可以获得适用于此日期的年代。
语法:
public long getLong(TemporalField field)
参数 :该方法接受一个强制参数field,指定要获取的字段,且不为空。
返回值 :该函数返回该字段的值。
异常 :该程序会抛出三种异常,描述如下。
- DateTimeException :如果不能获得字段的值,或者该值超出了该字段的有效值范围,则抛出该异常。
- UnsupportedTemporalTypeException :如果该字段不被支持或者数值范围超过了一个长值,则抛出。
- ArithmeticException :如果发生数字溢出,则抛出。
以下程序说明了Java中ChronoLocalDate的 getLong() 方法。
程序1 :
// Program to illustrate the getLong() method
import java.util.*;
import java.time.*;
import java.time.chrono.*;
import java.time.temporal.ChronoField;
public class GfG {
public static void main(String[] args)
{
// Parses the date
ChronoLocalDate dt
= LocalDate.parse("2018-11-27");
// Prints the day number
System.out.println(dt.getLong(
ChronoField.DAY_OF_MONTH));
}
}
输出。
27
程序2 :
// Program to illustrate the getLong() method
import java.util.*;
import java.time.*;
import java.time.chrono.*;
import java.time.temporal.ChronoField;
public class GfG {
public static void main(String[] args)
{
// Parses the date
ChronoLocalDate dt
= LocalDate.parse("2018-11-27");
// Prints the day number
System.out.println(dt.getLong(
ChronoField.DAY_OF_YEAR));
}
}
输出。
331
程序3 :
// Program to illustrate the getLong() method
// Exception Program
import java.util.*;
import java.time.*;
import java.time.chrono.*;
import java.time.temporal.ChronoField;
public class GfG {
public static void main(String[] args)
{
try {
ChronoLocalDate dt
= LocalDate.parse("2017-01-32");
System.out.println(dt.getLong(
ChronoField.DAY_OF_MONTH));
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出。
java.time.format.DateTimeParseException:
Text '2017-01-32' could not be parsed:
Invalid value for DayOfMonth (valid values 1 - 28/31): 32
参考资料 : https://docs.oracle.com/javase/9/docs/api/java/time/temporal/TemporalAccessor.html#getLong-java.time.temporal.TemporalField-