Encoder: time() und die Zeitzone

Beitrag lesen

Dann nimm den Unix Timestamp - der ist Sekunden seit 1.1.1970, 0:00 GMT.

Das GMT daran ist mein Problem. time() (oder auch die Abfrage aus der DB) geben die Zeit als GTM zurück, bezogen auf die aktuelle Zeitzone.
Das heißt da ist die momentane eine Stunde bereits mit drin?!

Mein Problem:
$time = time();
print date("Y-m-d H:i:s", $time);
--> 2011-01-22 21:27:01

$time2 = $time - ($time % (24 * 3600));
print date("Y-m-d H:i:s", $time2);
--> 2011-01-22 01:00:00
Hier wärs recht nett wenn ich null Uhr bekäme, was mit "Sekunden seit 1.1.1970" ja auch der Fall sein sollte. Nur ist hier halt die eine Stunde aus der Zeitzome mit drin.

Ich frag mich auch was tatsächlich in der Datenbank steht. Kommts da auch auf die Zeitzone an, in was die gespeicherte Zeit dann umgerechnet wird?