Suchmaschine

Loading
Sie sind hier: Startseite -> PHP-Codeschnipsel -> Datum manipulieren

Code-Schnipsel: Datum manipulieren

Datum manipulieren

Obwohl es zum Rüstzeug eines PHP-Programmierers zählen sollte, stellt das Datum doch immer wieder eine Hürde dar. Nachstehend ein Bespiel für ein Skript, bei dem es darum gehen könnte, eine Zeitdifferenz zu berücksichtigen.

ergibt:

1487735639
20170222045359
1488599639
20170304045359

Im Beispiel gehen wir davon aus, dass das Datum in zehn Tagen eine relevante Größe darstellt. Ein praktisches Beispiel wäre ein Auktionshaus, in dem die Auktion nach genau zehn Daten abgeschlossen werden sollte und dieses Datum wird beim Anlegen der Auktion eingetragen.

Dazu braucht man drei Dinge: das aktuelle Datum, die manipulative Veränderung und das Ergebnis der Manipulation für die weitere Verarbeitung. Das aktuelle Datum erhält man in PHP sehr einfach über den time-Befehl. Die große Fall ist dabei, dass man time schreibt - da passiert nämlich gar nichts.

time() ergibt hingegen den aktuellen Timestamp, eine Kombination aus Datum und Uhrzeit im Unix-Zeitstempel (daher auch timestamp). Mit diesem Wert können viele nichts anfangen, gerade, wenn sie erst mit PHP zu arbeiten begonnen haben. Ich habe den Zeitstempel ausdrucken lassen (erster Wert) und für die zweite Zeile mit date ("YmdHis", $timestamp) dafür gesorgt, dass der Klassiker zum Einsatz kommt, denn YmdHis steht für

Y = Jahr
m = Monat
d = Tag
H = Stunde
i = Minute
s = Sekunde

20110819111111 würde also den 19. August 2011 um 11:11:11 Uhr bedeuten.

Nun haben wir die Ausgangsbasis und verstehen den Zeitstempel auch. Die Aufgabe bestand aber darin, zehn Tage vorauszudenken und daher wird die Variable $timestamp um 10 Tage ergo 10 x 24 Stunden x 60 Minuten x 60 Sekunden erhöht.

Das Ergebnis ist ein neuer timestamp, den wir wieder zwecks Verständnis mit date umformatieren und ausdrucken lassen. Diesen Zeitstempel kann man jetzt im Skript verwenden, um ihn in die Datenbank einzutragen. Mit einem automatischen Skript, zum Beispiel einem Cronjob, kann man vergleichen lassen, ob das eingetragene Datum schon erreicht wurde und wenn ja, dann wird die Auktion, um beim Beispiel zu bleiben, geschlossen.

Suchmaschine
Bitte gewünschten Suchbegriff im Formular eingeben.

Loading