Hi!
Ich persönlich schreibe übrigens nie date(), sondern meistens strftime("%H:%i", locatime(time())) - vielleich geht das ja besser?
Nein. Aber dasselbe wie oben erreichst Du mit
date("H:i")
finde ich irgendwie schöner.
http://de2.php.net/manual/de/function.date.php
"date() Gibt einen formatierten String anhand eines vorzugebenden Musters zurück. Dabei wird entweder der angegebene Timestamp oder die gegenwärtige lokale Zeit berücksichtigt, wenn kein Timestamp angegegeben wird. Mit anderen Worten ausgedrückt: der Parameter Timestamp ist optional und falls dieser nicht angegeben wird, wird der Wert der Funktion time() angenommen."An dieser Stelle ist das reichlich bescheuert erklärt, weil eben nicht time() die lokale Zeit leifert, sondern locatime().
Naja, ich habe localtime() noch nie gebraucht, time(), date() für aktuielle Zeit, oder ggfs. gmtime() oder gmdate() für selbiges in GMT. Nur will es diesmal nicht funkitonieren. Die Zeit von date() in PHP ist auf die Sekunde gleich mit dem date aus der shell, nur eind Stunde Unterschied. Irgendwo muss es eine Konfigurationsmöglichkeit zu geben, die PHP sagt wie es entsprechend die Zeit umrechnen muss. Naja, aber um die Verwirrung noch perfekter zu machen:
<?php
echo date("H:i:s")."\n";
echo gmdate("H:i:s");
?>
Ausgabe:
12:36:36
11:36:36
Shell:
date
Fri Jul 11 13:37:45 CEST 2003
Und der passende ZUgriff aus dem Apache access-log:
[11/Jul/2003:12:36:36 +0100]
Fri 11 Jul 2003 12:42:56 PM CEST 0.707042 seconds
Das sieht doch schonmal ganz zauberhaft aus - an den Systemeinstellungen mußt du jetzt auf jeden Fall erstmal nicht mehr herumdoktern! Völlig in Ordnung, so wie es dort steht :)
Naja, irgendwo ist da der Wurm drin. Wie gesagt, der Apache hat dasselbe Problem, oder nicht(+0100)?
Grüße
Andreas