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.
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;
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 }
In der obigen Syntax sind Datum1 und Datum2 zwei verschiedene Zeitstempel.
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>
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.
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 }
In der obigen Syntax vergleichen wir Datum1 und Datum2 , nachdem wir die Stunden mit der Methode setHours() auf Null gesetzt haben.
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>
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.
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 }
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>
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!