PHP-Datum gibt falsche Zeit zurück

Das folgende Skript gibt die falsche Zeit zurück, nachdem ich angerufen habedate_default_timezone_set("UTC")

<code><?PHP   
    $timestamp = time();
    echo "<p>Timestamp: $timestamp</p>";

    // This returns the correct time
    echo "<p>". date("Y-m-d H:i:s", $timestamp) ."</p>";


    echo "<p>Now I call 'date_default_timezone_set(\"UTC\")' and echo out the same timestamp.</p>";
    echo "Set timezone = " . date_default_timezone_set("UTC");

    // This returns a time 5 hours in the past
    echo "<p>". date("Y-m-d H:i:s", $timestamp) ."</p>";

?>
</code>

Die Zeitzone auf dem Server istBST. Was also passieren sollte, ist, dass der zweite Anruf bis zum 'Datum' eine Stunde nach dem ersten Anruf eine Zeit zurückgeben sollte. Es kehrt tatsächlich 5 Stunden hinter dem ersten zurück.

Ich sollte beachten, dass der Server ursprünglich mit der EDT-Zeitzone (UTC -4) eingerichtet wurde. Dies wurde in BST (UTC +1) geändert und der Server neu gestartet.

Ich kann nicht herausfinden, ob dies ein PHP-Problem oder ein Problem mit dem Server ist.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage