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

📅  最后修改于: 2023-12-03 15:01:51.833000             🧑  作者: Mango

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

ChronoLocalDate类是Java库中处理日期的接口,它定义了处理日期的基本方法,如 getDayOfMonth()getMonth()getYear() 等。其中 until() 方法用于计算两个日期之间的时间差,返回一个 ChronoPeriod 对象,表示两个日期之间相差的年、月、日等。

方法定义
ChronoPeriod until(ChronoLocalDate endDateExclusive)

该方法接收一个参数 endDateExclusive,表示计算时间差的结束日期。返回一个 ChronoPeriod 对象,表示两个日期之间相差的时间。

示例

以下示例演示了如何使用 until() 方法计算两个日期之间相差的时间,并打印出时间差的各个字段。

import java.time.LocalDate;
import java.time.Period;

public class ChronoLocalDateUntilExample {
    public static void main(String[] args) {
        LocalDate startDate = LocalDate.of(2021, 9, 1);
        LocalDate endDate = LocalDate.of(2021, 10, 1);

        Period period = startDate.until(endDate);

        int years = period.getYears();
        int months = period.getMonths();
        int days = period.getDays();

        System.out.println("相差年数:" + years);
        System.out.println("相差月数:" + months);
        System.out.println("相差天数:" + days);
    }
}

输出结果:

相差年数:0
相差月数:1
相差天数:0

可以看到,起始日期为 2021 年 9 月 1 日,结束日期为 2021 年 10 月 1 日,两个日期之间相差一个月。 Period 对象的 getYears() 方法和 getDays() 方法返回的结果均为 0,因为这两个日期的年份和天数都相同。getMonths() 方法返回的结果是 1,表示两个日期之间相差一个月。