»TIPPS >FUNKTIONEN
Immer wieder diese Zeiten... Hier zwei Beispiele, die die nützlichsten Funktionen komprimiert darstellen.
MySQL timestamp als Array aus Datum und Uhrzeit ausgeben
Die folgende Funktion wandelt einen MySQL timestamp in ein Array aus zwei Elementen:
$stamp["date"] und $stamp["time"]:
function timestamp_to_date($timestamp) {
$stamp['date'] = sprintf("%02d.%02d.%04d",
substr($timestamp, 8, 2),
substr($timestamp, 5, 2),
substr($timestamp, 0, 4));
$stamp['time'] = sprintf("%02d:%02d:%02d",
substr($timestamp, 11, 2),
substr($timestamp, 14, 2),
substr($timestamp, 17, 2));
return $stamp;
}
print_r(timestamp_to_date("2007-05-04 16:56:17")); // Ausgabe: [date] => 04.05.2007 [time] => 16:56:17
Einige Umrechungen:
Hier wird der timestamp (1. Parameter) und die zu addierenden Tage (2. Parameter) angegeben und man erhält das Datum als Unix timestamp, das sich in formatierter Form ausgeben lässt:
function addDate($date, $add){
$strdate = mktime(0,0,0,substr($date, 5, 2),substr($date, 8, 2),substr($date, 0, 4));
$add = ($add * 86400);
return $strdate + $add;
}
$Datum = addDate("2008-01-01 00:00:00", "4");
setlocale(LC_ALL, "DEU");
echo strftime("%d. %m. %Y", $Datum); // Ausgabe: 05. 01. 2008
Zunächst wird hier ein Mysql timestamp per mktime() in einen UNIX timestamp umgewandelt. Nun werden die Tage mit den Sekunden multipiliziert und zu dem UNIX timestamp addiert. Die Ausgabe erfolgt formatiert über strftime() nachdem die Datumsangabe mit setlocale() auf deutsch umgestellt wurde.