PHP дата возвращает неправильное время
Следующий скрипт возвращает неверное время после звонкаdate_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>
Часовой пояс на сервереBST, Итак, что должно произойти, это то, что второй вызов «дата»; должен вернуться через 1 час после первого звонка. Он действительно возвращается через 5 часов после первого.
Должен отметить, что сервер изначально был настроен с часовым поясом EDT (UTC-4). Это было изменено на BST (UTC +1) и сервер был перезапущен.
Я не могу понять, если это проблема PHP или проблема с сервером.