Maison > Article > interface Web > Comment vérifier deux horodatages pour le même jour en JavaScript ?
Vous n'utilisez jamais JavaScript lors du développement d'une application et vous n'utilisez jamais d'objets Date. L'objet Date est très important en JavaScript car il nous permet de créer et de manipuler des dates selon les exigences du développeur.
Dans ce tutoriel, nous apprendrons à vérifier si deux horodatages sont le même jour ou des jours différents. En développement temps réel, c’est très utile. Par exemple, nous souhaitons que les utilisateurs effectuent certaines tâches quotidiennes. Nous devons donc vérifier si l'utilisateur a effectué la tâche d'aujourd'hui, nous pouvons le vérifier en comparant la dernière date à laquelle la tâche a été effectuée avec la date actuelle.
Date() contient les méthodes getFullYear(), getMonth() et getDate() pour obtenir respectivement l'année, le mois et le jour à partir d'une valeur de date. Nous pouvons vérifier si l’année, le mois et le jour de deux horodatages sont identiques ; ils correspondent tous deux au même jour.
Les utilisateurs peuvent vérifier deux horodatages du même jour à l'aide des opérateurs getFullYear(), getMonth(), getDate() et d'égalité selon la syntaxe suivante.
if ( date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate() ) { // date is the same } else { // date is not the same }
Dans la syntaxe ci-dessus, date1 et date2 sont deux horodatages différents.
Dans l'exemple ci-dessous, nous avons créé trois dates nommées date1, date2 et date3. Nous avons créé la fonction compareTwoDates() qui utilise la logique ci-dessus pour comparer deux horodatages du même jour.
<html> <body> <h3>Compare the<i> year, month, and date </i> to check for two timestams of same day.</h3> <p id = "output"> </p> <script> let output = document.getElementById("output"); var date1 = new Date(); var date2 = new Date(date1.getTime() - 3000); function compareTwoDates(date1, date2) { // if the year, month, and date are the same, it means two dates are on the same day if ( date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate() ) { output.innerHTML += date1 + " and <br>" + date2 + " <br>are of same day. </br><br>"; } else { output.innerHTML += date1 + " and <br>" + date2 + " <br>are not of same day. </br>"; } } compareTwoDates(date1, date2); let date3 = new Date(2020, 11, 10); compareTwoDates(date1, date3); </script> </body> </html>
setHours() de l'objet Date() nous permet de définir les heures, les minutes, les secondes et les millisecondes dans l'horodatage. Il faut quatre paramètres, représentant les heures, les minutes, les secondes et les millisecondes. De plus, les trois derniers paramètres sont facultatifs, mais nous les mettons tous à zéro. Lorsque nous mettons les heures, les minutes, les secondes et les millisecondes à zéro, nous pouvons obtenir l'horodatage du début de la journée. Si deux horodatages ont la même heure de début, ils correspondent au même jour.
Suivez la syntaxe ci-dessous pour comparer deux horodatages du même jour.
date1.setHours(0, 0, 0, 0); date2.setHours(0, 0, 0, 0); // compare timestamp if (date1 == date2) { // date is the same } else { // date is not the same }
Dans la syntaxe ci-dessus, nous comparons date1 et date2 après avoir mis les heures à zéro à l'aide de la méthode setHours().
Dans l'exemple ci-dessous, nous avons créé deux horodatages à l'aide d'objets Date(). La fonction CompareTwoDates() vérifie si les horodatages correspondent au même jour en définissant les heures, minutes, secondes et millisecondes des deux horodatages sur zéro.
<html> <body> <h3>Seting<i> Hours, minutes, seconds, and milliseconds </i> to zero to check for two timestamps of the same day </h3> <p id="output"></p> <script> let output = document.getElementById("output"); var date1 = new Date(); var date2 = new Date(date1.getTime() - 3786000); function compareTwoDates(date1, date2) { // set hours, minutes, seconds, and milliseconds zero in the timestamp date1.setHours(0, 0, 0, 0); date2.setHours(0, 0, 0, 0); // compare timestamp if (date1 == date2) { output.innerHTML += date1 + " and <br>" + date2 + "<br> are of same day. </br>"; } else { output.innerHTML += date1 + " and <br>" + date2 + "<br> are not of same day. </br>"; } } compareTwoDates(date1, date2); </script> </body> </html>
toDateString() nous permet d'obtenir uniquement la chaîne de date de l'horodatage et elle supprime l'heure de l'horodatage et renvoie uniquement la chaîne de date. Si la chaîne de date de deux horodatages est la même, alors nous pouvons dire que les deux sont le même jour.
Suivez la syntaxe suivante pour vérifier deux horodatages du même jour à l'aide de la méthode toDateString().
if (date1.toDateString() == date2.toDateString()) { // dates are of the same day } else { // dates are not on the same day }
Dans l'exemple ci-dessous, lorsque l'utilisateur clique sur le bouton "Comparer deux dates", il appelle la fonction isForSameDays(). Dans la fonction isForSameDays(), nous utilisons la méthode toDateString() pour obtenir uniquement la chaîne de date de l'horodatage et utilisons l'opérateur d'égalité pour comparer les deux chaînes de date.
<html> <body> <h3>Using the <i> toDateString() method </i> to check for two timestams of same day.</h3> <p id="output"></p> <script> let output = document.getElementById("output"); var date1 = new Date(); var date2 = new Date(2020, 01, 21, 12, 23, 22); // compare timestamp using the toDateString() method if (date1.toDateString() == date2.toDateString()) { output.innerHTML += date1 + " and " + date2 + " are of same day. </br>"; } else { output.innerHTML += date1 + " and " + date2 + " are not of same day. </br>"; } </script> </body> </html>
Ce tutoriel nous apprend trois méthodes pour vérifier deux horodatages du même jour. La troisième façon d’utiliser la méthode toDateString() est une simple ligne.
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!