MySQL: Anzahl der Tage zwischen zwei Timestamps ermitteln
Frage von Gast | Letztes Update am 19.07.2021 | Erstellt am 09.02.2016
Ich würde gerne mit MySQL bestimmen, wie viele Tage zwischen zwei gegebenen Zeiten liegen.
Ich habe also einen Timestamp beziehungsweise ein Datum und möchte dieses mit einem anderen Datum vergleichen und die Zeitdifferenz berechnen. Nach Möglichkeit sollte beachtet werden, dass die Monate unterschiedlich lang sind.
Wie kann man das mit MySQL machen?
Ähnliche Themen
MySQL: Zeilenumbrüche in MySQL
Tipp | 0 Kommentare
Warum hat ausgerechnet der Februar 28 Tage?
Frage | 3 Antworten
MySQL: Wie viele Datensätze wurden gefunden oder sind von meiner Abfrage betroffen?
Info | 0 Kommentare
jQuery: Elemente, Bilder, Klassen etc zählen
Tipp | 0 Kommentare
MySQL: Minimale Wortlänge bei der Volltextsuche ändern
Tipp | 1 Kommentar
MySQL: Aktuelles Datum oder Zeit in Spalte schreiben
Tutorial | 0 Kommentare
MySQL/PHP: ID vom letzten INSERT auslesen
Info | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.
Dafür gibt es die Funktion DATEDIFF() in MySQL. Dieser Funktion kannst du zwei Zeiten übergeben und du erhältst die Zeitdifferenz zwischen den beiden zurück.
Zum Beispiel so:
Hier ermitteln wir die Anzahl der Tage zwischen dem 1. Januar 2021 und dem 1. Januar 2031. Damit das Ergebnis positiv wird, muss das erste Datum größer sein als das zweite. Ansonsten erhalten wir einen negativen Wert.
Natürlich kannst du das Datum auch direkt aus der Tabelle holen:
Hier lesen wir die Einträge aus der Tabelle "tab" aus. In dieser Tabelle gibt es die Spalte "dat", in der ein Datum abgespeichert ist. Wir möchten den zeitlichen Abstand zwischen diesem Datum und dem 1. Januar 2021 ermitteln und auslesen.
Statt einem fixen Datum können wir auch das aktuelle Datum mit CURDATE() verwenden:
Diese Abfrage sagt uns, wie viele Tage uns noch vom 1. Januar 2031 trennen.
Falls wir das Alter der Einträge in der Datenbank bestimmen möchten, können wir auch hier mit CURDATE() arbeiten und beides kombinieren:
Übrigens gibt es auch die Funktion TIMEDIFF(), mit der wir den Abstand zwischen zwei Timestamps noch genauer bestimmen können.
Letztes Update am 19.07.2021 | Erstellt am 10.02.2016