首頁 > Java > java教程 > 主體

Java中如何計算兩個日期之間的工作天數?

Patricia Arquette
發布: 2024-10-25 17:36:42
原創
416 人瀏覽過

How to Calculate the Number of Weekdays Between Two Dates in Java?

用Java 計算兩個日期之間的工作日數

對於那些尋求Java 程式碼片段來計算工作日數的人(不包括週末),2011 年的一個流行響應提出了一個利用Calendar 類別的解決方案。儘管Java 8 隨後透過java.time 套件引入了現代日期時間處理功能,但以下程式碼示範如何使用Calendar API 實作此計算:

<code class="java">public static int getWorkingDaysBetweenTwoDates(Date startDate, Date endDate) {
    Calendar startCal = Calendar.getInstance();
    startCal.setTime(startDate);        
    
    Calendar endCal = Calendar.getInstance();
    endCal.setTime(endDate);

    int workDays = 0;

    //Return 0 if start and end are the same
    if (startCal.getTimeInMillis() == endCal.getTimeInMillis()) {
        return 0;
    }
    
    if (startCal.getTimeInMillis() > endCal.getTimeInMillis()) {
        startCal.setTime(endDate);
        endCal.setTime(startDate);
    }

    do {
       //excluding start date
        startCal.add(Calendar.DAY_OF_MONTH, 1);
        if (startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {
            ++workDays;
        }
    } while (startCal.getTimeInMillis() < endCal.getTimeInMillis()); //excluding end date

    return workDays;
}</code>
登入後複製

請注意,此解決方案遵循「連續」 "計數方法,不包括開始日期和結束日期本身。

以上是Java中如何計算兩個日期之間的工作天數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!