Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 08.01.2017, 19:34
Профессор
Отправить личное сообщение для Артист Посмотреть профиль Найти все сообщения от Артист
 
Регистрация: 25.09.2016
Сообщений: 163

Что-то ругается на скобки:

alert(<?php echo time() * 1000 ?> +'\n' + new Date())
Ответить с цитированием
  #22 (permalink)  
Старый 10.01.2017, 23:32
Новичок на форуме
Отправить личное сообщение для AngelW Посмотреть профиль Найти все сообщения от AngelW
 
Регистрация: 02.10.2015
Сообщений: 4

Спасибо за решение
а помошникам стыд и срам.... от их заумства они не выглядят умными
Ответить с цитированием
  #23 (permalink)  
Старый 22.05.2020, 14:57
Интересующийся
Отправить личное сообщение для АндрейD Посмотреть профиль Найти все сообщения от АндрейD
 
Регистрация: 21.05.2018
Сообщений: 27

Это на сервере
<?php
echo date('H:i:s d.m.Y');
?>

Код js, посылающий каждую секунду ajax запрос
let test = document.querySelector('#test');
document.addEventListener('DOMContentLoaded', () => {
window.setInterval(timer, 1000);
});
async function timer() {
let promise = await fetch('/ajax.php/');
let data = await promise.text();
test.innerHTML = data;
}
Ответить с цитированием
  #24 (permalink)  
Старый 22.05.2020, 15:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от АндрейD
Код js, посылающий каждую секунду ajax запрос
Зачем? Клиенту достаточно знать часовой пояс сервера все остальное это клиентское время с разницей часовых поясов.

Последний раз редактировалось laimas, 22.05.2020 в 17:02.
Ответить с цитированием
  #25 (permalink)  
Старый 22.05.2020, 15:27
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

laimas, а вдруг у клиента на компьютере часы идут неправильно?

P.S. На самом деле на компьютере часы таки могут идти неправильно, сам лично столкнулся с этим когда в ноутбуке сдохал батарейка CMOS - часы отставали за час на ~5-10 минут. Но это слишком уникальная ситуация чтоб о ней заботиться.)
__________________
29375, 35
Ответить с цитированием
  #26 (permalink)  
Старый 22.05.2020, 15:44
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Aetae
а вдруг у клиента на компьютере часы идут неправильно?
Это проблемы не сервера, а клиента, и заметить их несложно, да и синхронизацию часов никто не отменял.
Ответить с цитированием
  #27 (permalink)  
Старый 22.05.2020, 17:56
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

laimas, а если нужно точное время? Читай далее...

АндрейD, достаточно получить время один раз, все остальные времена вычисляются на его основе.

Вы можете получить с сервера времени(или со своего сервера) метку времени (UTC timestamp) и её передать в конструктор Date. Так вы получите точное время на тот момент. Пусть оно хранится в константе serverTime. Вам сразу же надо создать константу со временем на устройстве пользователя, например, пусть это будет clientTime.

Вычислив разницу между двумя этими временами, вы узнаете на сколько отличается время клиента от точного!
const dateDiff = serverDate.getTime() - clientDate.getTime();



Для того, чтобы получать впоследствии точное время, вам нужно прибавлять эту разницу ко времени клиента
const date = new Date(Date.now() + dateDiff);
Ответить с цитированием
  #28 (permalink)  
Старый 22.05.2020, 18:03
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Malleys
а если нужно точное время? Читай далее...
И чем это отличается от времени клиента скорректированного на разницу часовых поясов?
Ответить с цитированием
  #29 (permalink)  
Старый 22.05.2020, 18:16
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от laimas
И чем это отличается от времени клиента скорректированного на разницу часовых поясов?
У некоторых людей такое будет отличаться ещё в среднем на ±5 секунды.
Ответить с цитированием
  #30 (permalink)  
Старый 22.05.2020, 18:26
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Malleys
У некоторых людей такое будет отличаться ещё в среднем на ±5 секунды.
Сам вопрос "а если нужно точное время?" настолько же абсурден как и довод в 5 секунд. Не может быть время сервера точнее времени клиента и наоборот, весь земной шарик живет по единому времени, которое различно на разницу часовых поясов. UTC как раз это и отражает.

Если у клиента разница в 5 секунд, то это нерадивый клиент, если у сервера ошибка в 5 секунд, то это нерадивый сервер, если у обоих ошибка, то нерадивы оба. Но причем тут время, часовые пояса и т.д.?

Использование UTC будет иметь только одно отличие от расчета на разность часовых поясов - в UTC нет перевода на зимнее/летнее время, а вот часовой пояс будет смещаться. Но если сервер отдает свой часовой пояс, то это будет скорректировано и у него.

Все остальное, это болтовня.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить Draggable и в то-же время Sortable элементы Munk Библиотеки/Тулкиты/Фреймворки 1 15.03.2012 13:00
Как получить переменную с сервера? DmitryT AJAX и COMET 2 03.08.2011 18:16
Как получить рисунок с сервера без сохранения в файле maruany AJAX и COMET 1 17.06.2010 10:15
Как получить время простоя машины? IvipIZerg Ваши сайты и скрипты 22 05.06.2009 12:00
Как получить файл с сервера AJlekceu AJAX и COMET 1 02.11.2008 13:41