> корректный показ времени для каждой страны

Forever

Новичок
К примеру, я нахожусь в России, и время на моем сервере 20:00.
Я вывожу его на главной странице сайта.У людей, которые живут в России, будет показываться 20:00.
Надо полагать, что сервер не автоматически преобразует время для посетителей, исходя из страны, в которой они живут, и в тот момент когда у них может быть 16:00, сайт все равно будет показывать 20:00? подскажите, я правильно понял?

И если да, то как обычно реализуется корректный показ времени исходя из страны пользователя? Объясните, пожалуйста, хотя бы в двух словах.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@Forever, если тебе так надо, то ты можешь взять время клиента.

Вопрос: зачем тебе показывать время на сайте?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Вот как определишься с задачей, которую решать будем, тогда и приходи. Пока что твои вопросы не понятно к чему нужны.

Цели показа клиентского времени - просто взяв его через JS - это для одного, скажем, просто сделать финтифлюшку с текущим временем на сайте. А вот если тебе надо выводить дату сообщения под конкретного пользователя в его временной зоне - это уже совсем другая история и требует преобразования времени сообщения.
 

antson

Новичок
Партнер клуба
<time datetime="2014-09-16T18:20:30+01:00"> как на заборе</time> - если уж очень хочется показать юзеру локализованную версию, то навесь js обработчик.

ну или как пример изучи, здесь же на форуме как выводиться время поста на форуме.
сегодня,только что, тогдато и т.п.
 

RU_ru

Новичок
храни время на сервере в UTC, а юзеру выводи вместе с его сдвигом относительно UTC, вот и получится его локальное время.
 

Forever

Новичок
Вот как определишься с задачей, которую решать будем, тогда и приходи. Пока что твои вопросы не понятно к чему нужны.
.
Да, что-то я так и не сказал, что именно мне нужно.

На многих сайтах есть отображение времени последнего визита пользователя.

К примеру, я нахожусь в Москве , захожу на страницу к другу Васе в ВК , и вижу там "Был сегодня в 15:00".
Другой человек, Жора, живущий в стране, где время идет на 2 часа вперед, тоже заходит к Васе и видит "Был сегодня в 17:00". То есть , время отображается с учетом временной зоны пользователя.

Теперь возьмем мой ущербный сайт, где серверное время на данный момент - 19:40 (по Москве).
Жора заходит на него, оставляет комментарий. У Жоры сейчас 21:40, но время комментария на сайте показывается, как 19:40.
Парень вспоминает, что он, вроде бы, ничего не курил, а значит это с сайтом что-то не так. Он уходит и никогда больше не возвращается.

Так вот, как реализовать показ подобных вещей, чтобы все отображалось как следует, исходя из времени пользователя, а не из времени сервера?
 

Forever

Новичок
Вот как определишься с задачей
Кстати, пользуясь случаем, хотел спросить.
Что дает меньшую нагрузку на БД:
1) Формировать дату с помощью PHP, а потом запихивать в MySQL?
2) или формировать ее силами самого MySQL (всякие там NOW(),CURDATE(),CURTIME() и тд)?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@Forever, не бывает нагрузки на бд из-за формирования даты при записи, забудь о таком. Делают так, как тебе удобно, или как велит оптимальное решение задачи
 
Сверху