Maison > Java > javaDidacticiel > le corps du texte

Comment calculer le nombre de jours de la semaine entre deux dates en Java ?

Patricia Arquette
Libérer: 2024-10-25 17:36:42
original
415 Les gens l'ont consulté

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

Calculer le nombre de jours de la semaine entre deux dates en Java

Pour ceux qui recherchent un extrait de code Java pour calculer le nombre de jours ouvrables (hors week-end) entre deux dates, une réponse populaire de 2011 proposait une solution utilisant la classe Calendar. Malgré l'introduction ultérieure par Java 8 de fonctionnalités modernes de gestion de la date et de l'heure via le package java.time, le code suivant montre comment réaliser ce calcul à l'aide de l'API Calendar :

<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>
Copier après la connexion

Notez que cette solution suit une approche "continue". " approche de comptage, excluant à la fois les dates de début et de fin elles-mêmes. Par exemple, si le début et la fin sont respectivement un lundi et un vendredi, la méthode renverra 4.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!