Java中的 ChronoLocalDate adjustInto() 方法及示例
Java中ChronoLocalDate接口的adjustInto()方法用于将指定的时间对象调整为与该对象具有相同的日期。
语法:
public Temporal adjustInto(Temporal temporal)
参数:此方法接受单个参数temporal ,它是要调整的目标对象,而不是具体为 null。
返回值:返回调整后的对象,不为空。
异常:该函数抛出两个异常,如下所述:
- DateTimeException :如果程序无法进行调整,则抛出此异常。
- ArithmeticException :如果存在数字溢出,程序将抛出此异常。
下面的程序说明了Java中 ChronoLocalDate 的 adjustInto() 方法:
程序 1 :
// Program to illustrate the adjustInto() method
import java.util.*;
import java.time.*;
import java.time.chrono.*;
public class GfG {
public static void main(String[] args)
{
ZonedDateTime date
= ZonedDateTime.now();
// prints the date
System.out.println(date);
// Parses the date
ChronoLocalDate date1
= LocalDate.parse("2015-01-31");
// Uses the function to adjust the date
date = (ZonedDateTime)date1.adjustInto(date);
// Prints the adjusted date
System.out.println(date);
}
}
输出:
2019-04-28T19:58:13.775Z[Etc/UTC]
2015-01-31T19:58:13.775Z[Etc/UTC]
程序2 :说明异常。下面的程序抛出异常,因为二月是 28 天而不是 31 天。
// Program to illustrate the adjustInto() method
// Exception Program
import java.util.*;
import java.time.*;
import java.time.chrono.*;
public class GfG {
public static void main(String[] args)
{
try {
ZonedDateTime date
= ZonedDateTime.now();
// prints the date
System.out.println(date);
// Parses the date
ChronoLocalDate date1
= LocalDate.parse("2015-02-31");
// Uses the function to adjust the date
date = (ZonedDateTime)date1.adjustInto(date);
// Prints the adjusted date
System.out.println(date);
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
2019-04-28T19:58:17.219Z[Etc/UTC]
java.time.format.DateTimeParseException: Text '2015-02-31' could not be parsed: Invalid date 'FEBRUARY 31'
参考:https://docs.oracle.com/javase/9/docs/api/ Java/time/chrono/ChronoLocalDate.html#adjustInto-java.time.temporal.Temporal-