В настоящее время я работаю над проблемой, когда сервер PHP расположен в Европе, но сервер базы данных находится в Мексике.Даты, возвращенные из времени изменения столбца временной таблицы MySQL
В моем приложении, часовой пояс устанавливается:
date_default_timezone_set('America/Mexico_City');
приложение не устанавливается часовой пояс MySQL, так что, как представляется, использовать системный часовой пояс, который America/Mexico_City
.
Странная вещь, когда я запрашиваю столбец часового пояса в MySQL, иногда дает мне даты, используя время в Мексике, а иногда и время в Европе.
Я знаю, что MySQL хранит временные метки как целое и возвращает их в виде строки даты, и я мог бы решить эту проблему, явно устанавливая часовой пояс соединение с базой данных, используя в Мексику с $db->query("SET time_zone = 'America/Mexico_City'");
Но мой вопрос, почему он иногда возвращает метки времени в виде строк даты в Европе и иногда с строками даты в Мексике? Приложение не использует какое-либо конкретное кэширование.
Почему вы не хранить все время/дату в БД с временными часами и манипулировать ими по мере необходимости при выводе? – Peon