📜  Java中的 Period between() 方法及示例

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

Java中的 Period between() 方法及示例

Java中 Period 类的 between() 方法用于获取由两个给定日期(包括开始日期和不包括结束日期)之间的年数、月数和天数组成的周期。

该期间的获得如下:

  • 删除完整的月份。
  • 现在,计算剩余天数。
  • 然后,调整以确保两者具有相同的符号。
  • 现在,根据 12 个月的年份将月数拆分为年和月。
  • 考虑一个月,如果结束日期大于或等于开始日期(例如:从 2017-05-12 到 2018-07-18 是一年零两个月零六天)。

注意:如果结束在开始之前,则从上式获得的期间可以为负数。年、月、日的负号都相同。

句法:

public static Period between(LocalDate startDateInclusive,
                             LocalDate endDateExclusive)

参数:

  • startDateInclusive – 开始日期包含在内,不能为空。
  • endDateExclusive – 结束日期是唯一的,不能为空。

返回值: period 的 between()函数返回给定开始日期和结束日期之间的时间段。

以下是上述函数的实现:

// Java code to show the period
// between given start and end date
import java.time.LocalDate;
import java.time.Period;
  
public class PeriodClass {
  
    // Function to calculate period between
    // start and end date
    static void calculatePeriod(LocalDate startDate,
                                LocalDate endDate)
    {
        Period period = Period.between(startDate, endDate);
        System.out.println("Period between start and end "
                           + "date is : " + period);
    }
  
    // Driver Code
    public static void main(String[] args)
    {
        // Start date
        LocalDate startDate = LocalDate.parse("2017-02-13");
  
        // End date
        LocalDate endDate = LocalDate.parse("2018-08-20");
  
        calculatePeriod(startDate, endDate);
    }
}
输出:
Period between start and end date is : P1Y6M7D

参考:https: Java/time/Period.html#between-java.time.LocalDate-java.time.LocalDate-