Vous essayez de comparer deux dates en ignorant la composante temporelle. Cependant, votre code semble incorrect. Examinons votre code et trouvons une solution.
if (userDate > now)
Dans cette comparaison, vous comparez l'intégralité des objets Date, y compris leurs composants temporels. Cela peut conduire à des résultats incorrects, surtout si les deux dates ont des heures différentes mais le même jour et le même mois.
Pour vous concentrer uniquement sur la partie date, vous pouvez mettre à zéro les composants temporels des objets Date. Ceci peut être réalisé en utilisant la méthode setHours avec des valeurs 0 pour les heures, les minutes, les secondes et les millisecondes.
Voici une version ajustée de votre code :
var userDate = new Date(); userDate.setFullYear(dateArray[2], userMonth, dateArray[0], 0, 0, 0, 0); var now = new Date(); now.setHours(0, 0, 0, 0); if (userDate > now)
Maintenant, la comparaison évaluera uniquement la partie date des objets Date, sans tenir compte de la composante heure. Cela devrait vous fournir le résultat souhaité lorsque vous vérifiez si userDate est supérieur à maintenant.
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!