Spielereien mit Zeit und DatumDas Rechnen mit Datum und Zeit ist nur selten unproblematisch, PHP stellt uns dafür zahlreiche Funktionen zur Verfügung. Wir wollen uns im folgenden ein paar davon ansehen und an Beispielen erproben.
3
3 Gestern, heute, übermorgen oder "the icing on the cake"Manchmal lohnt es sich doch bis zum Ende weiterzulesen, wir kommen jetzt zu einer der interessantesten Funktionen. Wir erhalten mit Hilfe von "time()" das Jetzt, mit "date()" und "mktime()"
definierte Zeitpunkte und können Zeitangaben fast beliebig formatieren
und umwandeln.
Eigentlich erzeugt strtotime die Unix-Zeit auf der Basis einer englischen Zeitangabe, also nicht viel neues. Wenig augenscheinlich ist aber die Möglichkeit mit strtotime aus einer Unix-Zeit relative Zeitangabe in der Form heute, morgen oder gestern ableiten zu lassen. Als erstes sehen wir uns absolute Angaben an, die ausgehend vom Jetzt den jeweiligen Tag an sich liefern, also ohne anhängende Minuten oder Sekunden:
strtotime('today');
strtotime('tomorrow');
strtotime('yesterday');
echo date('d.m.y H.i.s',strtotime('tomorrow')),' ist Morgen ';
Noch interessanter sind die Angaben für "noon", die uns die
Mittagszeit, 12 Uhr und "midnight", die uns den Tag um Mitternacht,
also auch wieder ohne anhängende Minuten oder Sekunden liefern.
strtotime('noon');
strtotime('midnight');
strtotime('noon',1270113217);
strtotime('midnight',1270113217);
echo date('d.m.y H.i.s',strtotime('noon',1270113217));
echo date('d.m.y H.i.s',strtotime('midnight',1270113217));
next, last, + und -Aber das ist noch nicht alles. "strtotime" kennt als Paramter noch weitere Angaben: Sekunden bis zum Jahr können mit einer Angabe wie "next", "last" oder +/-1 bis +/-n verknüpft werden und liefern ausgehend vom Jetzt oder einer angegebenen Unix-Zeit berechnete Zeitangaben in der Vergangenheit oder der Zukunft. Bei der Berechnung von +/-1 bis +/-n können auch mehrere Zeitangaben kombiniert werden. Spielen sie einfach ein wenig mit den hier angegebenen Beispielen:
echo date('d.m.y H.i.s',strtotime('next day'));
echo date('d.m.y H.i.s',strtotime('last year'));
echo date('d.m.y H.i.s',strtotime('next day', 1270116000));
echo date('d.m.y H.i.s',strtotime('last year', 1270116000));
echo date('d.m.y H.i.s',strtotime('+1 minute', 1270116000));
echo date('d.m.y H.i.s',strtotime('-2 hour', 1270116000));
echo date('d.m.y H.i.s',strtotime('-1 day'));
echo date('d.m.y H.i.s',strtotime('-2 days'));
echo date('d.m.y H.i.s',strtotime('+4 week'));
echo date('d.m.y H.i.s',strtotime('+4 weeks'));
echo date('d.m.y H.i.s',strtotime('+1 year'));
Und weiter? Kommentare oder Verbesserungen sind natürlich immer willkommen!
|
Über den Autor
Tutorial bewertenHat Ihnen dieses Tutorial gefallen? Dann bewerten Sie es jetzt! Fünf Sterne bedeutet "Sehr gut", ein Stern "Unzureichend". aktuelle Artikel
|
|||||||




|09.04.2010 | 



