Heim  >  Artikel  >  Web-Frontend  >  Wie kann ich mithilfe von JavaScript überprüfen, ob ein Datum weniger als eine Stunde zurückliegt?

Wie kann ich mithilfe von JavaScript überprüfen, ob ein Datum weniger als eine Stunde zurückliegt?

王林
王林nach vorne
2023-08-25 09:05:021557Durchsuche

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

In diesem Tutorial lernen wir, den Unterschied zwischen zwei Daten zu ermitteln und zu prüfen, ob der Unterschied weniger als eine Stunde beträgt. Manchmal müssen Entwickler stündlich mit Datumsobjekten arbeiten und einige Vorgänge ausführen. Dies könnte also eine Möglichkeit sein, zu überprüfen, ob eine bestimmte Aktion vor einer Stunde ausgeführt wurde, und sie dann erneut auszuführen. Andernfalls warten Sie, bis diese Stunde abgeschlossen ist.

Hier lernen wir verschiedene Möglichkeiten kennen, mit JavaScript zu überprüfen, ob ein Datum weniger als eine Stunde zurückliegt.

Verwenden Sie die getTime()-Methode

Die Methode

getTime() gibt die Gesamtzahl der Millisekunden in einem Datum seit dem 1. Januar 1970 zurück. Daher können wir die Methode getTime() verwenden, um die Gesamtzahl der Millisekunden seit dem 1. Januar 1970 für das aktuelle und das vorherige Datum zu ermitteln. Danach können wir den Unterschied in den gesamten Millisekunden der beiden Datumsangaben ermitteln und ihn mit den gesamten Millisekunden der Stunde vergleichen, die 1000*60*60 beträgt.

Grammatik

Benutzer können JavaScript gemäß der folgenden Syntax verwenden, um zu überprüfen, ob das Datum weniger als 1 Stunde zurückliegt.

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
}

In der obigen Syntax enthält hoursMilli die gesamten Millisekunden der Stunde und wir verwenden die Methode Math.abs(), um die absolute Differenz in Millisekunden zwischen zwei Datumsangaben zu ermitteln.

Schritte

Schritt 1 – Erstellen Sie zwei Termine.

Schritt 2 – Ermitteln Sie mit der Methode getTime() die gesamten Millisekunden zweier Datumsangaben, ermitteln Sie die Differenz zwischen ihnen und speichern Sie ihren Wert in der Differenzvariablen.

Schritt 3 – Speichern Sie die Gesamtzahl der Millisekunden für 1 Stunde in der Variablen „hoursMilli“.

Schritt 4 – Wenn der absolute Wert der Differenzvariablen kleiner als HourMilli ist, bedeutet das, dass 1 Stunde noch nicht verbraucht wurde.

Beispiel

Im folgenden Beispiel haben wir zwei verschiedene Daten mit unterschiedlichen Zeitstempeln erstellt. Wir folgen den oben genannten Schritten und vergleichen das Datum und die Gesamtmillisekunden von aktuelles_Datum mit den Gesamtmillisekunden von 1 Stunde, um zu prüfen, ob das Datum weniger als eine Stunde zurückliegt.

<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> 

Verwenden Sie die setMinutes()-Methode des Datumsobjekts

Mit der Methode

setMinutes() im Date-Objekt können Entwickler die Minuten im Zeitstempel festlegen. Für das Datum sind drei Parameter erforderlich: Minuten, Sekunden und Millisekunden. Sekunden und Millisekunden sind optional.

Wenn wir die Minuten auf Null setzen und die beiden Daten vergleichen, können wir wissen, ob ein bestimmtes Datum vor einer Stunde liegt.

Grammatik

Benutzer können die Methode setMinute() gemäß der folgenden Syntax verwenden, um zu überprüfen, ob die Differenz zwischen zwei Datumsangaben weniger als eine Stunde beträgt.

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.
} 

Schritte

Schritt 1 – Verwenden Sie die Methode setMinutes() und übergeben Sie 0, 0, 0 als Parameter, um die Minuten, Sekunden und Millisekunden von auf Null > dem vorherigen Datum zu setzen.

Schritt 2 – Setzen Sie die Minuten des aktuellen_Datums auf Null.

Schritt 3 – Berechnen Sie die Differenz zwischen den beiden Daten; wenn sie Null ist, liegt das Datum weniger als eine Stunde zurück.

Beispiel

In diesem Beispiel verwenden wir die Methode setMinutes(), um das Datum und die Gesamtzahl der Minuten auf Null zu setzen. Danach nehmen wir die Differenz zwischen den Datumsangaben und geben die Differenz in Millisekunden zwischen den Datumsangaben zurück.

Wenn die Differenz Null ist, sind Jahr, Monat, Tag und Stunde der beiden Daten gleich. Daher können wir sagen, dass dieser Tag weniger als 1 Stunde her ist.

<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>

In diesem Tutorial haben wir gelernt, den Unterschied zwischen zwei Datumsangaben zu ermitteln und zu überprüfen, ob das Datum weniger als eine Stunde zurückliegt. Darüber hinaus können Benutzer die Methoden diff() und isAfter() der Moment Js-Bibliothek verwenden, um zu überprüfen, ob sie identisch sind. Benutzer sollten jedoch bedenken, dass die Moment JS-Bibliothek jetzt veraltet ist.

Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von JavaScript überprüfen, ob ein Datum weniger als eine Stunde zurückliegt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen