Maison >interface Web >js tutoriel >Comment comparer uniquement les parties de date de deux dates en JavaScript ?

Comment comparer uniquement les parties de date de deux dates en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-11 20:26:031028parcourir

How to Compare Only the Date Parts of Two Dates in JavaScript?

Comparaison de parties de date en JavaScript

Lorsque vous comparez deux dates, vous pouvez rencontrer des situations dans lesquelles vous souhaitez uniquement considérer le composant de date et ignorer l'heure. Voici comment y parvenir en JavaScript.

Mauvaise approche

Le code fourni tente de comparer les dates en attribuant la date d'entrée de l'utilisateur à un nouvel objet Date userDate, cependant, il conserve l'heure d'origine. composant à partir de maintenant. Cela entraîne une comparaison incorrecte.

Approche corrigée

Pour comparer les parties de date indépendamment de l'heure, vous devez définir explicitement la composante temporelle de la date saisie par l'utilisateur sur zéro. Voici la bonne approche :

userDate.setHours(0, 0, 0, 0);

En faisant cela, l'objet userDate représentera uniquement le composant date, et vous pourrez le comparer avec précision avec celui actuel en utilisant le > opérateur.

Simplifier la comparaison

Au lieu d'utiliser la condition if, vous pouvez utiliser une syntaxe plus simple :

const result = userDate > now;

Solution alternative

Une autre approche est pour créer une fonction d'assistance pour extraire les parties de date d'un objet date donné :

const getDatePart = (date) => {
  return new Date(date.getFullYear(), date.getMonth(), date.getDate());
};

Vous pouvez ensuite comparer les parties de date des deux dates à l'aide de l'opérateur == :

const nowDatePart = getDatePart(now);
const userDatePart = getDatePart(userDate);

const result = nowDatePart == userDatePart;

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