Как обрабатывать часовые пояса / смещения при отображении «сообщений» от разных пользователей? - PullRequest
1 голос
/ 26 июля 2011

Вроде релятивлей просто.Возьмите время javascript (то есть на стороне клиента), сравните его с вашим временем php (на стороне сервера), и вы получите смещение.Сохраните все время серверного времени в своей таблице MySQL, а затем, при их отображении, добавьте / вычтите смещение в зависимости от пользователя.Я предполагаю, что это меньше 10 строк кода.Я не определяю часовой пояс, так как требуется только смещение.

Причина, по которой я спрашиваю: bc , этот сайт , кажется, делает его более сложнымЯ что-то упускаю?

1 Ответ

1 голос
/ 26 июля 2011

Slapdash Ответ: Нет, что делает его пример более сложным, так это то, что он пытается найти часовой пояс , вас это не волнует (на первый взгляд), вам просто нужно настроить время клиента на время сервера.

И то, как вы это предложили, это то, как я делаю это для аналогичной проблемы, и она работает просто отлично.

Более глубокий ответ: Вы могли бы сохранить часовой пояс клиента и создать дельту на лету, но, если у вас нет нескольких серверов в разных часовых поясах или вы перемещаете серверы примерно в часовых поясах или вас беспокоит переход на летнее время (что не наблюдается на международном уровне), тогда ваше решение должно быть в порядке.

Простое смещение работает только в этом случае. Чем тщательнее использовать часовой пояс и сэкономить только время сервера, а затем произвести смещение, тем лучше будет масштабироваться.

Обновление Умный человек отметил, что клиентское время не всегда точно, и действительно это не так. Идеальным решением было бы просто спросить пользователя, в каком часовом поясе он находится.

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