Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie kann ich in JavaScript überprüfen, ob ein Datum zwischen zwei Datumsangaben liegt?

WBOY
Freigeben: 2023-09-16 15:13:08
nach vorne
593 Leute haben es durchsucht

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

In JavaScript können wir das Date()-Objekt verwenden, um verschiedene Zeitstempel zu erstellen. Darüber hinaus müssen wir möglicherweise JavaScript verwenden, um zu prüfen, ob ein Datum zwischen zwei Datumsangaben liegt.

Zum Beispiel möchten wir einen Filter für Bestellungen in einer E-Commerce-Anwendung basierend auf dem Datum erstellen. Wir sollten also in der Lage sein, alle Bestellungen zwischen zwei vom Benutzer im Datumseingabefeld eingegebenen Daten zu filtern.

Ein weiterer praktischer Anwendungsfall für die Prüfung zwischen zwei Daten sind Bankanwendungen. Wenn ein Entwickler beispielsweise eine Bankensystemanwendung entwickelt, muss er einen Filter erstellen, der es dem Benutzer ermöglicht, alle Transaktionen zwischen zwei Daten zu sortieren.

Überprüfen Sie, ob ein Datum zwischen zwei anderen Daten liegt, indem Sie Daten vergleichen

In JavaScript können wir zwei Instanzen von Datumsobjekten vergleichen. Wenn wir zwei Instanzen von Date-Objekten vergleichen, wird die Gesamtzahl der Millisekunden seit dem 1. Januar 1970 zwischen den beiden Datumsangaben verglichen.

So können wir zwei Daten ganz normal vergleichen, genau wie beim Vergleichen von Zahlen in JavaScript, und sicherstellen, dass ein Datum zwischen den anderen beiden Daten liegt.

Grammatik

Benutzer können der folgenden Syntax folgen, um sicherzustellen, dass ein Datum zwischen zwei Datumsangaben in JavaScript liegt.

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

In der obigen Syntax können Benutzer erkennen, dass, wenn Datum2 größer als Datum1 und Datum2 kleiner als Datum3 ist, bedeutet, dass Datum2 zwischen Datum1 und Datum3 liegt.

Beispiel

Im folgenden Beispiel erstellen wir drei verschiedene Zeitstempel mit dem Konstruktor des Date-Objekts. Danach verwenden wir die in der obigen Syntax erläuterte Logik, um zu prüfen, ob Datum2 zwischen Datum1 und Datum3 liegt.

In der Ausgabe kann der Benutzer beobachten, dass Datum2 zwischen Datum1 und Datum3 liegt.

<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>
Nach dem Login kopieren

Erstellen Sie ein neues Datum aus zufälligen Datumszeichenfolgen und vergleichen Sie sie

Betrachten wir nun das Szenario, in dem wir keinen Zeitstempel als Standarddatumsobjekt erhalten, sondern das Datum in ein Zeichenfolgenformat formatiert wird. Wir müssen also Jahr, Monat und Tag aus der Datumszeichenfolge extrahieren. Danach müssen wir einen Standardzeitstempel für den aus der Zeichenfolge erhaltenen Wert erstellen und diese vergleichen, wie wir es im vorherigen Abschnitt getan haben.

Grammatik

Wenn eine zufällig formatierte Zeichenfolge angegeben wird, kann der Benutzer anhand der folgenden Syntax überprüfen, ob ein Datum zwischen zwei Datumsangaben liegt.

// 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
} 
Nach dem Login kopieren

In der obigen Syntax haben wir das Trennzeichen „,“ verwendet, um die Zeichenfolge zu teilen, aber der Benutzer kann sie basierend auf der angegebenen Datumszeichenfolge aufteilen. Danach dekonstruieren wir das aus der Split-Methode erhaltene Array und erstellen unter Verwendung des Werts einen neuen Standard-Datumszeitstempel.

Beispiel

In diesem Beispiel haben wir drei Datumszeichenfolgen verwendet. Als nächstes trennen wir sie, ermitteln die Jahres-, Monats- und Datumswerte und verwenden sie, um ein neues Datum zu erstellen.

Danach vergleichen wir die neuen Zeitstempel, um sicherzustellen, dass current_date zwischen prev_date und Final_date liegt.

<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> 
Nach dem Login kopieren

Benutzer haben zwei Möglichkeiten kennengelernt, um zu überprüfen, ob ein Datum zwischen zwei anderen Daten liegt. Der Benutzer kann die erste Methode verwenden, wenn er einen Standardzeitstempel eines Datumsobjekts erhält. Andernfalls kann der Benutzer verschiedene Werte aus der Datumszeichenfolge extrahieren und diese verwenden, um neue Instanzen des Datumsobjekts zu erstellen und diese zu vergleichen.

Das obige ist der detaillierte Inhalt vonWie kann ich in JavaScript überprüfen, ob ein Datum zwischen zwei Datumsangaben liegt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!