Fecha de PHP regresando a la hora equivocada
La siguiente secuencia de comandos devuelve el tiempo incorrecto después de que llamedate_default_timezone_set("UTC")
<?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>";
?>
La zona horaria en el servidor esBST. Entonces, lo que debería suceder es que la segunda llamada a 'fecha' debería devolver una hora 1 hora después de la primera llamada. En realidad está regresando un tiempo 5 horas atrás del primero.
Debo tener en cuenta que el servidor se configuró originalmente con la zona horaria EDT (UTC -4). Se cambió a BST (UTC +1) y se reinició el servidor.
No puedo averiguar si esto es un problema de PHP o un problema con el servidor.