Maison  >  Article  >  interface Web  >  Comment vérifier si une date est comprise entre deux dates en JavaScript ?

Comment vérifier si une date est comprise entre deux dates en JavaScript ?

WBOY
WBOYavant
2023-09-16 15:13:08559parcourir

如何在 JavaScript 中检查一个日期是否在两个日期之间?

En JavaScript, nous pouvons utiliser l'objet Date() pour créer différents horodatages. De plus, nous devrons peut-être utiliser JavaScript pour vérifier si une date se situe entre deux dates.

Par exemple, nous souhaitons créer un filtre pour les commandes dans une application e-commerce basé sur la date. Nous devrions donc pouvoir filtrer toutes les commandes entre deux dates saisies par l'utilisateur dans le champ de saisie de la date.

Un autre cas d’utilisation pratique pour vérifier entre deux dates concerne les applications bancaires. Par exemple, lors du développement d'une application de système bancaire, un développeur doit créer un filtre permettant à l'utilisateur de trier toutes les transactions entre deux dates.

Vérifiez si une date est comprise entre deux autres dates en comparant les dates

En JavaScript, nous pouvons comparer deux instances d'objets date. Lorsque nous comparons deux instances d’objets Date, le nombre total de millisecondes depuis le 1er janvier 1970 entre les deux dates est comparé.

Nous pouvons donc normalement comparer deux dates, tout comme comparer des nombres en JavaScript, et nous pouvons nous assurer qu'une date se situe entre les deux autres dates.

Grammaire

Les utilisateurs peuvent suivre la syntaxe suivante pour garantir qu'une date se situe entre deux dates en JavaScript.

if (date1 < date2 && date2 < date3) {
   
   // date2 is between the date1 and date3
} else {
   
   // date2 is not between the date1 and date3
 }

Dans la syntaxe ci-dessus, les utilisateurs peuvent voir que si date2 est supérieur à date1 et date2 est inférieur à date3, cela signifie que date2 est compris entre date1 et date3.

Exemple

Dans l'exemple ci-dessous, nous créons trois horodatages différents à l'aide du constructeur de l'objet Date. Après cela, nous utilisons la logique expliquée dans la syntaxe ci-dessus pour vérifier si date2 est entre date1 et date3.

Dans la sortie, l'utilisateur peut observer que date2 est situé entre date1 et date3.

<html>
<body>
   <h2><i>Comparing the dates</i> to check if one date is between two.</h2>
   <p id="output"> </p>
   <script>
      let output = document.getElementById("output");
      let date1 = new Date(2020, 03, 11);
      let date2 = new Date(2022, 03, 12);
      let date3 = new Date();
      if (date1 < date2 && date2 < date3) {
         output.innerHTML += date2 + " is between <br> " + date1 + " <br> and <br> " + date3;
      } else {
         output.innerHTML += date2 + " is not between the " + date1 + " <br> and <br>" + date3;
      }
   </script>
</body>
</html>

Créez une nouvelle date à partir de chaînes de dates aléatoires et comparez-les

Maintenant, considérons le scénario dans lequel nous ne recevons pas d'horodatage comme objet de date standard, mais la date est formatée dans un format de chaîne. Nous devons donc extraire l'année, le mois et le jour de la chaîne de date. Après cela, nous devons créer un horodatage standard pour la valeur obtenue à partir de la chaîne et les comparer comme nous l'avons fait dans la section précédente.

Grammaire

Lorsqu'il reçoit une chaîne formatée aléatoirement, l'utilisateur peut vérifier si une date est comprise entre deux dates en suivant la syntaxe suivante.

// splitting the dates
let [year1, month1, date1] = prev_date.split(",");
let [year2, month2, date2] = current_date.split(",");
let [year3, month3, date3] = final_date.split(",");

// creating new formatted dates
prev_date = new Date(year1, month1 - 1, date1);
current_date = new Date(year2, month2 - 1, date2);
final_date = new Date(year3, month3 - 1, date3);
if (prev_date < current_date && current_date < final_date) {

   // current_date is between the prev_date and final_date
} else{
   
   // current_date is not between the prev_date and final_date
} 

Dans la syntaxe ci-dessus, nous avons utilisé le délimiteur ',' pour diviser la chaîne, mais l'utilisateur peut la diviser en fonction de la chaîne de date donnée. Après cela, nous déconstruisons le tableau obtenu à partir de la méthode split et créons un nouvel horodatage de date standard en utilisant la valeur.

Exemple

Dans cet exemple, nous avons pris trois chaînes de date. Ensuite, nous les séparons, obtenons les valeurs de l’année, du mois et de la date et les utilisons pour créer une nouvelle date.

Ensuite, nous comparons les nouveaux horodatages pour nous assurer que current_date est entre prev_date et Final_date.

<html>
<body>
   <h3>Create a new date from <i> date string and compare them </i> to check if one date is between two</h3>
   <p id = "output"> </p>
   <script>
      let output = document.getElementById("output");
      let prev_date = "2022,10,23";
      let current_date = "2021,11,22";
      let final_date = "2023,12,30";
      let [year1, month1, date1] = prev_date.split(",");
      let [year2, month2, date2] = current_date.split(",");
      let [year3, month3, date3] = final_date.split(",");
      prev_date = new Date(year1, month1 - 1, date1);
      current_date = new Date(year2, month2 - 1, date2);
      final_date = new Date(year3, month3 - 1, date3);
      if (prev_date < current_date && current_date < final_date) {
         output.innerHTML += current_date + " is between <br>" + prev_date + "<br> and <br> " + final_date;
      } else {
         output.innerHTML += current_date + " is not between <br>" + prev_date + " <br> and <br> " + final_date;
      }
   </script>
</body>
</html> 

Les utilisateurs ont appris deux façons de vérifier si une date se situe entre deux autres dates. L'utilisateur peut utiliser la première méthode lorsqu'il reçoit un horodatage standard d'un objet Date ; sinon, l'utilisateur peut extraire différentes valeurs de la chaîne de date et les utiliser pour créer de nouvelles instances de l'objet date et les comparer.

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