Подтвердить что ты не робот

Как проверить текущую дату и время в JQuery

Просто интересно, был ли способ проверить текущую дату и время в JQuery.

4b9b3361

Ответ 1

В JavaScript вы можете получить текущую дату и время, используя объект Date;

var now = new Date();

Это приведет к времени работы локального клиента, если вы хотите выполнить регулировку часового пояса или получить время с сервера, проверьте мой ответ на этот вопрос.


Изменить: В ответ на ваш комментарий вы можете очень легко восстановить время сервера на стороне клиента:

time.php:

<? echo '{serverTime: new Date(' . time()*1000 .')}';?>

Создана простая строка JSON, с новым объектом Date, инициализированным текущим сервером time, это значение умножается на 1000, потому что PHP обрабатывает временные метки в секундах, а JavaScript - в миллисекундах.

А на другом вы можете получить время сервера следующим образом:

$.getJSON('time.php', function (data) {
  alert(data.serverTime);
});

Просто сделайте getJSON запрос на получение даты из time.php и доступ к свойству serverTime возвращаемого объекта.

Ответ 2

Это не божественная практика для получения текущей даты и времени с клиентской машины.

Сделайте проверку на стороне сервера.

Вы можете использовать jQuery, чтобы сделать запрос Ajax на страницу, а затем вернуть текущую дату и время.

Ответ 3

Прояснить ответы, предоставленные до сих пор...

  • Получение текущей даты не является чем-то, что необходимо для использования jquery (даже если бы у него была возможность сделать это), поскольку raw javascript предоставляет это средство.

    var currentTimeAndDate = new Date();

  • За очень немногими исключениями вы должны избегать получения текущего времени/даты с клиентской машины, поскольку у вас нет способа узнать, правильно ли установлены часы. Всегда получайте дату с сервера, чтобы обеспечить определенный уровень предсказуемости. Это, однако, также не является надежным, так как клиент действительно мог на один день опережать сервер или отставать от него, поэтому вам придется решить, как обращаться с ситуацией таким образом, который подходит вашему приложению.

UPDATE:

Существует также необходимость различать получение даты/времени статически и динамически.

Статично, когда сервер отображает время/дату на странице напрямую - например, вы можете захотеть иметь "Эта страница была создана в 12:34 GMT 24 июля 1962 года" (что было бы аккуратным трюком, учитывая, что веб-серверы не существовали в 1962 году).

Динамически возникает, когда клиентская страница активно обновляет отображение времени с помощью вызовов AJAX, чтобы спросить сервер о текущем времени - это метод, описанный в ответе, предоставленном @CMS