當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。