Java中的 ChronoLocalDateTime adjustInto() 方法及示例
Java中ChronoLocalDateTime接口的adjustInto()方法用于将指定的时间对象调整为与该对象具有相同的日期。
语法:
default Temporal adjustInto(Temporal temporal)
参数:此方法接受单个参数temporal ,它是要调整的目标对象,而不是具体为 null。
返回值:返回调整后的对象,不为空。
异常:该函数抛出两个异常,如下所述:
- DateTimeException :如果程序无法进行调整,则抛出此异常。
- ArithmeticException :如果存在数字溢出,程序将抛出此异常。
下面的程序说明了Java中 ChronoLocalDateTime 的 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)
{
LocalDateTime date
= LocalDateTime
.parse("2018-12-06T19:21:12");
// prints the date
System.out.println(date);
// Parses the date
ChronoLocalDateTime date1
= LocalDateTime.now();
// Uses the function to adjust the date
date = (LocalDateTime)date1.adjustInto(date);
// Prints the adjusted date
System.out.println(date);
}
}
输出:
2018-12-06T19:21:12
2019-05-14T09:39:37.953
程序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 {
LocalDateTime date
= LocalDateTime
.parse("2018-12-06T19:21:12");
// prints the date
System.out.println(date);
// Parses the date
ChronoLocalDateTime date1
= LocalDateTime.parse("2015-02-31");
// Uses the function to adjust the date
date = (LocalDateTime)date1.adjustInto(date);
// Prints the adjusted date
System.out.println(date);
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
2018-12-06T19:21:12
java.time.format.DateTimeParseException:
Text '2015-02-31' could not be parsed at index 10
参考:https://docs.oracle.com/javase/9/docs/api/ Java/time/chrono/ChronoLocalDateTime.html#adjustInto-java.time.temporal.Temporal-