Sie sind hier: Startseite -> PHP-Grundlagen -> mktime

Datum und Zeit in PHP per mktime ermitteln

UNIX-Zeitstempel für die Angaben nutzen

In den MySQLi-Datenbanken werden bei PHP-Projekte oft die Zeitstempel als Datum und Uhrzeit abgespeichert. Die UNIX-Systeme auf den Servern zählen seit 1970 die Sekunden hoch und daher ergibt der Zeitstempel die genaue Anzahl an Sekunden seit jenem berühmtem Datum.

Das ist die Alternative zum üblichen date-Befehl, mit dem ebenfalls Datum und Zeit ermittelt werden kann. Es ist Geschmackssache und auch eine Frage von Anwendung und Nutzen, ob man lieber mit der langen Angabe des UNIX-Zeitstempels arbeiten möchte oder mit den Angaben von date.

PHP liefert mit mktime den UNIX-Zeitstempel

<?php
echo mktime(0, 0, 0, 6, 26, 2010);
?>

ergibt:

1277503200

Mit dem PHP-Befehl mktime kann man, wie im Beispiel durchgeführt, den Zeitstempel für ein bestimmtes Datum abfragen. Im Beispiel wird der Zeitstempel für den 26. Juni 2010 abgefragt und zwar zur Stunde 0. Der Befehl mktime braucht sechs Parameter: Stunde, Minute, Sekunde als Zeitangabe (hier auf 0 gesetzt) und dann Monat, Tag und Jahr. Das Ergebnis ist der timestamp, also der Zeitstempel seit Beginn der Unix-Epoche am 1. Jänner 1970.

Wozu braucht man das denn? werden sich manche nun fragen. Die Funktion kann sehr wichtig sein. Nehmen wir einmal an, Sie haben ein PHP-Projekt, bei dem es ein schwarzes Brett gibt, wo Leute ihre alten Autos anbieten können. Nun möchten Sie nicht alle Autos anzeigen lassen, sondern nur jene Autos, die in dem letzten Monat angeboten wurden. Mit zwei Abfragen erreichen Sie den Zeitstempel vom Monatsbeginn und vom aktuellen Datum und mit einer if-Abfrage können Sie aus der Datenbank alle Datensätze herauslesen, die in diesem Zeitraum online gestellt wurden.

Eine Frage der Gewohnheit

Datum und Uhrzeit werden oft gebraucht - beim Abspeichern eines Gästebucheintrags, eines Kommentars, eines Eintrags im Forum, beim Anlegen neuer Artikel und so weiter und so fort. Nun kann man mit dem UNIX-Zeitstempel arbeiten oder man kann das Datum auch per PHP-Befehl date ermitteln.

In beiden Fällen braucht es nur eine Zeile, um das Ergebnis zu erhalten, aber die date-Version ist lesbarer, weil man gleich das Jahr am Beginn erkennen kann, beim UNIX-Schlüssel ist das nicht der Fall. Auslesen kann man aber beides und reine Datumsfelder sind schneller in Sachen Datenbank als etwa ein Textfeld mit dem eingetragenen Datum. Es funktioniert aber beides reibungslos.

Buchtipp: PHP und MySQL für Einsteiger (Thalia)*
* = Affiliate-Link; bei Kauf unterstützen Sie diese Plattform

Lesen Sie auch

Sowohl Zahlen als auch Datum und Uhrzeit werden in der PHP-Programmierung sehr häufig benötigt. Bei PHP + Datum wird man sich zwischen der Version mit date und der Version mit dem UNIX-Zeitstempel (time, mktime) entscheiden müssen, wie man lieber mit den Werten umgehen möchte.

PHP + Zahlen ist auch ein Thema, bei dem man überlegen muss, was mit den Zahlen geschehen soll. Das betrifft nicht Rechnungen mit Variablen, wie dies in der Einführung schon zum Thema wurde, sondern eher die Zahlen an sich. Man muss sie runden, man kann sie bewusst aufrunden oder - was häufig passiert - Umformatieren wie mit number_format, um zwei Kommastellen zu erhalten.

Themenseiten

Diesen Artikel teilen

Infos zum Artikel

mit mktime Zeitstempel holenArtikel-Thema: Datum und Zeit in PHP per mktime ermitteln
Beschreibung: Alternativ zum ✅ date-Befehl kann man mit ✅ mktime den UNIX-Zeitstempel in PHP ermitteln und ihn für verschiedene Anwendungen nutzen.

Kategorien

Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen

Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel
Praxisartikel