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

Patricia Arquette
リリース: 2024-10-25 17:36:42
オリジナル
415 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!