Klassisches Beispiel: Wir wollen ermitteln wie lange ein bestimmtes Datum her ist, hier der 18.05.2011. Die Differenz soll in Tagen ausgegeben werden.
Da PHP nicht direkt mit dem deutschen Datumsformat zurecht kommt, muss zunächst mittels mktime ein Timestamp aus unseren Variablen erzeugt werden.
Die Funktion date liefert (wenn kein zusätzlicher Parameter angegeben) das aktuelle Datum. Wir lesen hier nur Monat, Tag und Jahr aus, damit wir nach der Berechnung nur ganze Tage bekommen und keine krummen Werte.
Mit den beiden Timestamps kann man nun wunderbar rechnen. Um das Resultat in Tagen auszugeben, teilt man einfach noch durch 86400 Sekunden (= 1 Tag).
PHP-Code:
<?php
// Hier wird das Referenzdatum definiert
$monat = '05';
$tag = '18';
$jahr = '2011';
//mktime macht aus dem Referzdatum und dem aktuellen Datum einen Timestamp, damit kann dann die Differenz berechnet werden
$tage = (int)((mktime(0, 0, 0,$monat, $tag, $jahr) - mktime(0, 0, 0, date("m"), date("d"), date("Y"))) / 86400);
if ($tage == 1) {
echo "1 Tag";
}
else if ($tage == -1) {
echo "-1 Tag";
}
else {
echo "".$tage." Tage";
}
?>




Bereiche
Kategorien
Forum - Programming





tutorials.de-Systemmitteilung