Maison >Java >javaDidacticiel >Comment puis-je déterminer efficacement si une date se situe dans une plage donnée ?

Comment puis-je déterminer efficacement si une date se situe dans une plage donnée ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-27 20:58:13456parcourir

How Can I Efficiently Determine if a Date Falls Within a Given Range?

Détermination de l'inclusion d'une date dans une plage

Pour vérifier si une date spécifiée se situe dans une plage prédéfinie, en utilisant des opérateurs de comparaison tels que Date.before() et Date.after( ) peut être fastidieux. Une approche alternative et intuitive consiste à utiliser une fonction qui imite le pseudocode suivant :

boolean isWithinRange(Date testDate) {
    return testDate >= startDate && testDate <= endDate;
}

Même si les dates extraites de la base de données incluent des horodatages, la solution proposée reste applicable.

Solution optimale

L'implémentation optimale de la fonction isWithinRange est :

boolean isWithinRange(Date testDate) {
    return !(testDate.before(startDate) || testDate.after(endDate));
}

Ce code vérifie efficacement si la date du test n'est "pas" avant la date de début "ou" après la date de fin.

Notez que le choix des opérateurs booléens garantit des résultats précis même si la date du test est exactement égale à l'un ou l'autre point final de la plage. Cette approche offre une solution simple et concise au défi de déterminer l'inclusion de la date dans une plage spécifiée.

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!

Déclaration:
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