Я хочу отображать текущую дату (-время) на веб-странице. Я вижу две возможности: (1) Использование php, например.


(2) ... или javascript, например.

Есть ли однозначный "лучший" способ сделать это или у обоих способов есть свои плюсы и минусы, так что я должен решить, как настроить?

BNetz

Ответов: 2

Ответы (2)

Если вы используете JavaScript, вы будете полагаться на то, что машина клиента имеет точное время. Хотя в настоящее время большинство клиентов до имеют точное время, это не гарантировано, и хорошо бы представить последовательный, точный интерфейс для всех пользователей на всех устройствах.

Если вы используете временную метку сервера и следите за тем, чтобы время сервера было и оставалось точным, вы будете иметь согласованность. (Это не обязательно должно быть сгенерировано на PHP - используйте любой язык, который может передать информацию с сервера на клиент).

Если у вас есть элементы, время которых нужно периодически обновлять, подумайте о вычислении разницы между временем сервера (хорошим) и временем клиента (возможно, неточным), и используйте эту разницу в JavaScript, чтобы определить, на сколько нужно изменить время, генерируемое клиентом. (Полагаю, именно так поступает Stack Exchange - он отправляет временную метку serverTime в ответе страницы и в результате отображает точные временные метки (например, с комментариями), даже если пользовательская новая дата возвращает что-то совершенно неточное.

.

Нечестно сравнивать JavaScript и PHP, так как они оба имеют разное назначение для языков разработки веб-сайтов. PHP - это язык сценариев на стороне сервера, а JavaScript - на стороне клиента. И главная причина в том, что PHP не выполняется в браузере, тогда как Javascript выполняется в браузере. Потому что если ваша системная дата неверна, ваш сайт будет показывать неверную дату.

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

2022 WebDevInsider