Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie überprüfe ich zwei Zeitstempel für denselben Tag in JavaScript?

PHPz
Freigeben: 2023-09-15 21:45:03
nach vorne
925 Leute haben es durchsucht

如何在 JavaScript 中检查同一天的两个时间戳?

Sie verwenden niemals JavaScript, wenn Sie eine Anwendung entwickeln, und Sie verwenden niemals Datumsobjekte. Das Datumsobjekt ist in JavaScript sehr wichtig, da es uns ermöglicht, Datumsangaben gemäß den Entwickleranforderungen zu erstellen und zu bearbeiten.

In diesem Tutorial erfahren Sie, wie Sie überprüfen, ob zwei Zeitstempel am selben Tag oder an unterschiedlichen Tagen vorliegen. In der Echtzeitentwicklung ist es sehr nützlich. Wir möchten beispielsweise, dass Benutzer einige tägliche Aufgaben ausführen. Wir müssen also prüfen, ob der Benutzer die heutige Aufgabe ausgeführt hat. Dies können wir überprüfen, indem wir das letzte Datum, an dem die Aufgabe ausgeführt wurde, mit dem aktuellen Datum vergleichen.

Vergleichen Sie Jahr, Monat und Tag zweier Datumsobjekte

Das

Date()-Objekt enthält die Methoden getFullYear(), getMonth() und getDate() zum Abrufen des Jahres, des Monats und des Tages aus einem Datumswert. Wir können überprüfen, ob Jahr, Monat und Tag zweier Zeitstempel gleich sind;

Grammatik

Benutzer können zwei Zeitstempel desselben Tages mithilfe von getFullYear(), getMonth(), getDate() und Gleichheitsoperatoren gemäß der folgenden Syntax überprüfen.

if (
   date1.getFullYear() === date2.getFullYear() &&
   date1.getMonth() === date2.getMonth() &&
   date1.getDate() === date2.getDate()
) {
   
   // date is the same
} else {
   
   // date is not the same
} 
Nach dem Login kopieren

In der obigen Syntax sind Datum1 und Datum2 zwei verschiedene Zeitstempel.

Beispiel

Im folgenden Beispiel haben wir drei Datumsangaben mit den Namen Datum1, Datum2 und Datum3 erstellt. Wir haben die Funktion „compareTwoDates()“ erstellt, die die obige Logik verwendet, um zwei Zeitstempel desselben Tages zu vergleichen.

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

Setzen Sie Stunden, Minuten, Sekunden und Millisekunden auf Null und vergleichen Sie zwei Daten

Mit der Methode

setHours() des Date()-Objekts können wir die Stunden, Minuten, Sekunden und Millisekunden im Zeitstempel festlegen. Es benötigt vier Parameter, die Stunden, Minuten, Sekunden und Millisekunden darstellen. Auch die letzten drei Parameter sind optional, wir setzen sie aber alle auf Null. Wenn wir die Stunden, Minuten, Sekunden und Millisekunden auf Null setzen, können wir den Zeitstempel des Tagesbeginns erhalten. Wenn zwei Zeitstempel die gleiche Startzeit haben, beziehen sich die Zeitstempel auf denselben Tag.

Grammatik

Folgen Sie der untenstehenden Syntax, um zwei Zeitstempel desselben Tages zu vergleichen.

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

In der obigen Syntax vergleichen wir Datum1 und Datum2 , nachdem wir die Stunden mit der Methode setHours() auf Null gesetzt haben.

Beispiel

Im folgenden Beispiel haben wir zwei Zeitstempel mithilfe von Date()-Objekten erstellt. Die Funktion CompareTwoDates() prüft, ob die Zeitstempel am selben Tag liegen, indem sie die Stunden, Minuten, Sekunden und Millisekunden der beiden Zeitstempel auf Null setzt.

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

Verwenden Sie die toDateString()-Methode

Mit der Methode

toDateString() können wir nur die Datumszeichenfolge vom Zeitstempel abrufen, die Zeit vom Zeitstempel entfernen und nur die Datumszeichenfolge zurückgeben. Wenn die Datumszeichenfolge zweier Zeitstempel gleich ist, können wir sagen, dass beide am selben Tag sind.

Grammatik

Befolgen Sie die folgende Syntax, um zwei Zeitstempel desselben Tages mit der Methode toDateString() zu überprüfen.

if (date1.toDateString() == date2.toDateString()) {
   
   // dates are of the same day
} else {
   
   // dates are not on the same day
} 
Nach dem Login kopieren

Beispiel

Wenn der Benutzer im folgenden Beispiel auf die Schaltfläche „Zwei Daten vergleichen“ klickt, wird die Funktion isForSameDays() aufgerufen. In der Funktion isForSameDays() verwenden wir die Methode toDateString(), um nur die Datumszeichenfolge aus dem Zeitstempel abzurufen, und verwenden den Gleichheitsoperator, um die beiden Datumszeichenfolgen zu vergleichen.

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

Dieses Tutorial zeigt uns drei Methoden, um zwei Zeitstempel desselben Tages zu überprüfen. Die dritte Möglichkeit, die toDateString()-Methode zu verwenden, ist ein sehr einfacher Einzeiler.

Das obige ist der detaillierte Inhalt vonWie überprüfe ich zwei Zeitstempel für denselben Tag in JavaScript?. 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!