Il seguente script sta tornando nel momento sbagliato, dopo che io chiamo date_default_timezone_set("UTC")
Data PHP tornando momento sbagliato
<?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>";
?>
Il fuso orario sul server è BST. Quindi, ciò che dovrebbe accadere è che la seconda chiamata a "data" debba restituire un'ora di ritardo rispetto alla prima chiamata. In realtà restituisce un tempo di 5 ore rispetto al primo.
Si noti che il server era stato originariamente impostato con il fuso orario EDT (UTC -4). È stato modificato in BST (UTC +1) e il server è stato riavviato.
Non riesco a capire se si tratta di un problema PHP o un problema con il server.
cosa è date_default_timezone_get() che mostra * prima * di cambiare il fuso orario? – BenOfTheNorth
Fuso orario: Europa/Londra – gargantuan
E qual è il comando del terminale 'date' del tuo server? –