Неправильный результат при расчете разницы во времени - PullRequest
1 голос
/ 21 октября 2011

Я пишу функцию PHP, которая вычисляет разницу между текущим временем и отметкой времени (например, 2011-10-21 11:16:00), которая извлекается из таблицы базы данных mySQL.

Проблема: Расчетная разница во времени кажется отключенной на 6 часов! Я проверил код и не могу понять, почему отметка времени, сделанная несколько минут назад, приводит к разнице во времени в 6 часов! Однако, когда я устанавливаю переменную $datetime_now на конкретное значение, вычисленная разница во времени является правильной! Любая помощь, чтобы указать мне в правильном направлении, очень ценится!

Код PHP:

$datetime_now = new DateTime;
$datetime_post = new DateTime($results[$key]['post_timestamp']); //ie. 2011-10-21 11:16:00
$interval = $datetime_now->diff($datetime_post);
$hours = $interval->format('%h');

Дополнительная информация:

Я запускаю веб-сервер (пакет XAMPP) на локальном компьютере и получаю доступ к веб-странице из той же системы.

1 Ответ

3 голосов
/ 21 октября 2011

Часовые пояса, я полагаю, вы GMT-6? Исправьте это, используя UTC для всех ваших транзакций, а затем на последнем этапе выполните преобразование в местное время. Проверьте настройки вашего сервера, и я уверен, что они будут отличаться от того, где вы живете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...