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

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

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

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

语法

public Temporal adjustInto(Temporal temporal)

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

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

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

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