Я нахожусь на ранней стадии построения таблицы mysql, которая будет хранить данные из двух часовых поясов. Как моя машина, так и сервер находятся в часовом поясе America/Los_Angeles. Таблица часовых поясов не загружается на сервере mysql, но в другом месте на этом сайте я читал, что это не обязательно, если php обрабатывает запросы - php будет писать смещение UTC для mysql. Тип данных Mysql - TIMESTAMP. Выборочные данные были вставлены с PHP скрипт, который включает в себя следующее заявление:php mysql UTC timestamp
if($company == 'HOS_CIN' or $company == 'HOS_FER') {
date_default_timezone_set("America/New_York");
}
Затем были использованы два PHP скрипты для отображения данных в браузере. Один из них включал вышеупомянутое заявление, а другое - нет. Тот, с заявлением, отображал время как полдень EST, и тот, который не отображал время как полдень PST. Если mysql сохранил смещение UTC, не должно было быть трехчасовой разницы во время отображения?
Php версии 5.3.3, MySQL версии 5.0.95
1) Нет, PHP не будет печатать UTC если вы не указали это (например, установив часовой пояс в UTC) 2) 'TIMESTAMP' конвертирует из/в часовой пояс MySQL Server при хранении/получении дат, похоже, что вы не заботитесь о настройке известного один. –
Разве это не цель date_default_timezone_set? – dirk
Не уверен, что вы имеете в виду, если вы выберете 'America/New_York', он будет использовать время в Нью-Йорке, а не UTC. И MySQL - это другая программа, которая иногда запускается на другом компьютере; он не будет заботиться о часовом поясе PHP. –