Maison  >  Article  >  interface Web  >  Comment vérifier si une date date de moins d’une heure en utilisant JavaScript ?

Comment vérifier si une date date de moins d’une heure en utilisant JavaScript ?

王林
王林avant
2023-08-25 09:05:021509parcourir

如何使用 JavaScript 检查日期是否小于 1 小时前?

Dans ce tutoriel, nous allons apprendre à trouver la différence entre deux dates et vérifier si la différence est inférieure à une heure. Parfois, les développeurs doivent travailler avec des objets Date et effectuer certaines opérations toutes les heures. Cela pourrait donc être un moyen de vérifier si une action spécifique a été effectuée il y a une heure, puis de la refaire sinon, attendez que cette heure se termine.

Ici, nous allons apprendre différentes façons de vérifier si une date remonte à moins d'une heure en utilisant JavaScript.

Utilisez la méthode getTime()

La méthode

getTime() renvoie le nombre total de millisecondes dans une date depuis le 1er janvier 1970. Par conséquent, nous pouvons utiliser la méthode getTime() pour trouver le nombre total de millisecondes depuis le 1er janvier 1970 pour la date actuelle et précédente. Après cela, nous pouvons trouver la différence entre les millisecondes totales des deux dates et la comparer avec le total des millisecondes de l’heure, qui est de 1000*60*60.

Grammaire

Les utilisateurs peuvent utiliser JavaScript selon la syntaxe suivante pour vérifier si la date date de moins d'une heure.

let current_date = new Date();
let difference = current_date.getTime() - date.getTime();
let hoursMilli = 1000 * 60 * 60; // milliseconds * seconds * minutes
if (Math.abs(difference) < hoursMilli) {
   
   // less than 1 hour spent
} else {
   
   // more than 1 hour ago
}

Dans la syntaxe ci-dessus, hoursMilli contient le total des millisecondes de l'heure et nous utilisons la méthode Math.abs() pour obtenir la différence absolue en millisecondes entre deux dates.

Étapes

Étape 1 - Créez deux dates.

Étape 2 - Obtenez le total en millisecondes de deux dates à l'aide de la méthode getTime(), trouvez la différence entre elles et stockez sa valeur dans la variable différence.

Étape 3 - Stockez le nombre total de millisecondes pendant 1 heure dans la variable hoursMilli.

Étape 4 - Si la valeur absolue de la variable différence est inférieure à hourMilli, cela signifie qu'1 heure n'a pas encore été dépensée.

Exemple

Dans l'exemple ci-dessous, nous avons créé deux dates différentes avec des horodatages différents. Nous suivons les étapes ci-dessus et comparons la date et le total des millisecondes de current_date avec le total des millisecondes d'une heure pour vérifier si la date date de moins d'une heure.

<html>
<body>
   <h3>Using the <i> custom algorithm </i> to check if the date was less than 1 hour ago.</h2>
   <div id="output"> </div>
   <script>
      let output = document.getElementById("output");
      let date1 = new Date(2023, 02, 11);
      
      // Creating a date that is not less than 1 hour ago
      let date2 = new Date(new Date().getTime() - 20302);   
      function isHourSpent(date) {
         let current_date = new Date();
         let difference = current_date.getTime() - date.getTime();
         console.log(difference);
         let hoursMilli = 1000 * 60 * 60;
         
         // comparing the hour's total milliseconds and the difference between the two dates.
         if (Math.abs(difference) < hoursMilli) {
            output.innerHTML += "The " + date + " is less than an hour ago! <br/>";
         } else {
            output.innerHTML += "The " + date + " is not less than hour ago! <br/>";
         }
      }
      isHourSpent(date1);
      isHourSpent(date2);
   </script>
</body>
</html> 

Utilisez la méthode setMinutes() de l'objet date

La méthode

setMinutes() dans l'objet Date permet aux développeurs de définir les minutes dans l'horodatage. La date nécessite trois paramètres : les minutes, les secondes et les millisecondes à définir. Les secondes et les millisecondes sont facultatives.

Si nous mettons les minutes à zéro et comparons les deux dates, nous pouvons savoir si une date spécifique était il y a une heure.

Grammaire

Les utilisateurs peuvent utiliser la méthode setMinute() selon la syntaxe ci-dessous pour vérifier si la différence entre deux dates est inférieure à une heure.

date.setMinutes(0, 0, 0);
current_date.setMinutes(0, 0, 0);
if (date - current_date == 0) {
   
   // difference between the two dates is not more than an hour
} else {
   
   // difference between two dates more than an hour.
} 

Étapes

Étape 1 - Utilisez la méthode setMinutes() et passez 0, 0, 0 comme paramètres pour définir les minutes, secondes et millisecondes de à zéro > la date précédente .

Étape 2 - Réglez les minutes de current_date à zéro.

Étape 3 - Calculez la différence entre les deux dates ; si elle est nulle, la date était il y a moins d'une heure.

Exemple

Dans cet exemple, nous utilisons la méthode setMinutes() pour remettre la date et le nombre total de minutes à zéro. Après cela, nous prenons la différence entre les dates et renvoyons la différence en millisecondes entre les dates.

Si la différence est nulle, l'année, le mois, le jour et l'heure des deux dates sont les mêmes. On peut donc dire que ce jour remonte à moins d’une heure.

<html>
<body>
   <h3>Using the <i> setMinutes() method </i> to check if the date was less than 1 hour ago.</h2>
   <div id="output"> </div>
   <script>
      let output = document.getElementById("output");
      let date1 = new Date(2022, 12, 01);
      let date2 = new Date(new Date().getTime() - 20302);
      
      function isHourSpent(date) {
         let current_date = new Date();
         date.setMinutes(0, 0, 0);
         current_date.setMinutes(0, 0, 0);
         if (date - current_date == 0) {
            output.innerHTML += "The " + date + " is less than hour ago! <br/>";
         } else {
            output.innerHTML += "The " + date + " is not less than an hour ago! <br/>";
         }
      }
      isHourSpent(date1);
      isHourSpent(date2);
   </script>
</body>
</html>

Dans ce tutoriel, nous avons appris à trouver la différence entre deux dates et à vérifier si la date remonte à moins d'une heure. De plus, les utilisateurs peuvent utiliser les méthodes diff() et isAfter() de la bibliothèque Moment Js pour vérifier si elles sont identiques, mais les utilisateurs doivent garder à l'esprit que la bibliothèque Moment JS est désormais obsolète.

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer