Не правильно выводится время на сайте

При разработке сайта требуется выводить время. В базу Datetime время пишется верно по Москве UTC+3, Установки timezone Europe/Moscow. На локальном опен сервер выводится как должно быть. При переносе на хостинг centos 6 показывает время на час больше. Тех поддержка хостинга усердно заявляет, что у них все в порядке. В чем может быть проблема? Сайт на Cake PHP 3


Ответы (1 шт):

Автор решения: Arseni Mourzenko

Если вы имеете в виду время локальное, для пользователя (то есть пользователь в Москве будет видеть московское время, а человек из Хабаровска, GMT+10, то:

  1. На сервере, записывайте время с индикатором часового пояса. Причем совершенно не важно, какой часовой пояс: может быть UTC, может пояс сервера, может просто какой-то фиксированный.
  2. Проверяйте, что пояс присутствует везде, когда сервер работает со временем. Особенно важно, чтобы клиент получал время с часовым поясом (см. ISO 8601).
  3. Уже на стороне клиента (то есть с JavaScript если это браузер), время трансформируется в зависимости от того, где находится клиент, и в зависимости от того, что именно нужно показать, к примеру «две минуты назад» или «Сегодня, 15:46».
→ Ссылка