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.
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.
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.
Au lieu d'utiliser la condition if, vous pouvez utiliser une syntaxe plus simple :
const result = userDate > now;
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!