📌  相关文章
📜  Java中的 ChronoLocalDateTime adjustInto() 方法及示例

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

Java中的 ChronoLocalDateTime adjustInto() 方法及示例

Java中ChronoLocalDateTime接口的adjustInto()方法用于将指定的时间对象调整为与该对象具有相同的日期。

语法

default Temporal adjustInto(Temporal temporal)

参数:此方法接受单个参数temporal ,它是要调整的目标对象,而不是具体为 null。

返回值:返回调整后的对象,不为空。

异常:该函数抛出两个异常,如下所述:

  1. DateTimeException :如果程序无法进行调整,则抛出此异常。
  2. 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-