ホームページ  >  記事  >  Java  >  Javaで2つの日付間の平日の数を計算する方法は?

Javaで2つの日付間の平日の数を計算する方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-25 17:36:42413ブラウズ

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

Java で 2 つの日付の間の平日の数を計算する

営業日 (除く) を計算するための Java コード スニペットを探している人向け2 つの日付の間の週末) について、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>
このソリューションは「継続的」な手順に従っていることに注意してください。 「開始日と終了日自体を除外したカウント方法。たとえば、開始と終了がそれぞれ月曜日と金曜日の場合、メソッドは 4.

を返します。

以上がJavaで2つの日付間の平日の数を計算する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。