当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java ChronoPeriod between()用法及代码示例


Java中的ChronoPeriod接口的between()方法用于获取chronoPeriod,其中包括两个给定日期(包括开始日期和结束日期)之间的年,月和日。

此chronoPeriod的获取方式如下:

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

注意:如果结束时间早于开始时间,则从上述公式获得的ChronoPeriod可以为负。负号在每年,每月和每天中都相同。


用法:

static ChronoPeriod between(ChronoLocalDate startDateInclusive,
                            ChronoLocalDate endDateExclusive)

参数:

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

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

下面是上述函数的实现:

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

参考: https://docs.oracle.com/javase/9/docs/api/java/time/chrono/ChronoPeriod.html#between-java.time.chrono.ChronoLocalDate-java.time.chrono.ChronoLocalDate-



相关用法


注:本文由纯净天空筛选整理自srinam大神的英文原创作品 ChronoPeriod between() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。