Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 26.03.2019, 13:36
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,726

laimas,
Сообщение от laimas
а зачем?
Что именно?
Ответить с цитированием
  #22 (permalink)  
Старый 26.03.2019, 13:38
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Nexus
Что именно?
Этак арифметика?
Ответить с цитированием
  #23 (permalink)  
Старый 26.03.2019, 13:43
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,726

laimas, автору нужно получить серверное время в часовом поясе Москвы.
Самым простым способом было бы изменить временную зону сервера, но, видимо, автору это не подходит.
Поэтому так.
Ответить с цитированием
  #24 (permalink)  
Старый 26.03.2019, 13:44
Аспирант
Отправить личное сообщение для ddro3doff Посмотреть профиль Найти все сообщения от ddro3doff
 
Регистрация: 22.03.2019
Сообщений: 47

Сообщение от Nexus Посмотреть сообщение
Ну так консоль откройте и посмотрите в чем причина.
В пятой строке "unexpected token <", открываем исходники страницы, смотрим пятую строку и что видим?
php-код не исполнился, неправильно вставили.
Вставил сразу после <head>

Ответить с цитированием
  #25 (permalink)  
Старый 26.03.2019, 13:45
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,726

ddro3doff, у вас php-код не исполнился.
Ответить с цитированием
  #26 (permalink)  
Старый 26.03.2019, 13:50
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Каждая ОС имеет механизм, который синхронизирует локальные часы с более надежным источником хронометража (таким как атомные часы NIST). Если это еще не сделано, настройте сервер для синхронизации его часов с одним из этих источников. В 99% у клиентов будет правильное время. Если вам нужна 100% точность, то продолжайте читать!

Сообщение от ddro3doff
В принципе все скрипты работают как нужно, токо по времени юзера, а мне нужно что бы таймер отсчитывал от серверного времени или от какого нибудь стороннего сервера.И вызывал всплывающие она тоже от серверного времени
Т. е. вам нужно, чтобы время клиента было точным!

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

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


Для того, чтобы получать впоследствии точное время, вам нужно прибавлять эту разницу ко времени клиента
const date = new Date(Date.now() + now);


Сообщение от laimas
Сервер и клиент возвращают смещение с противоположными знаками
Какой ужас! Я всё ни как не пойму, зачем вам вообще Лондон сдвигать в Москву...

Сообщение от Nexus
ddro3doff, получил московское время: https://jsfiddle.net/od4cx0fb/
Зачем вы меняете timestamp? У вас получилось по пятницам в 16 в Москве (GMT+3), или в 19, но в Бангладеше (GMT+6), (это одно и тоже время!) UPD[И от того, с какого часового пояса смотреть тоже отличается!]

И зачем вы пишете так, как будто у каждой временной зоны существует свой собственный timestamp?

ddro3doff, нужно получить timestamp, когда начинается мероприятие(назовём его eventDate), вычислив eventDate - date вы получите, сколько времени осталось до события. Вот график, а вот решение https://jsfiddle.net/5ts70kr2/ (Там время берётся со стороннего сервера, но вы можете брать со своего!)

Последний раз редактировалось Malleys, 26.03.2019 в 14:07.
Ответить с цитированием
  #27 (permalink)  
Старый 26.03.2019, 14:00
Аспирант
Отправить личное сообщение для ddro3doff Посмотреть профиль Найти все сообщения от ddro3doff
 
Регистрация: 22.03.2019
Сообщений: 47

Сообщение от Malleys Посмотреть сообщение
Каждая ОС имеет механизм, который синхронизирует локальные часы с более надежным источником хронометража (таким как атомные часы NIST). Если это еще не сделано, настройте сервер для синхронизации его часов с одним из этих источников. В 99% у клиентов будет правильное время. Если вам нужна 100% точность, то продолжайте читать!

Т. е. вам нужно, чтобы время клиента было точным!

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

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


Для того, чтобы получать впоследствии точное время, вам нужно прибавлять эту разницу ко времени клиента
const date = new Date(Date.now() + now);


Какой ужас! Я всё ни как не пойму, зачем вам вообще Лондон сдвигать в Москву...

Зачем вы меняте timestamp? У вас получилось по пятницам в 16 в Москве (GMT+3), или в 19, но в Бангладеше (GMT+6), (это одно и тоже время!)

И зачем вы пишете так, как будто у каждой временной зоны существует свой собственный timestamp?

ddro3doff, нужно получить timestamp, когда начинается мероприятие(назовём его eventDate), вычислив eventDate - date вы получите, сколько времени осталось до события. Вот график, а вот решение https://jsfiddle.net/5ts70kr2/ (Там время берётся со стороннего сервера, но вы можете брать со своего!)
Поменял часовой пояс на компьютере на +6 , время отчета в скрипте тоже уменьшилось на 3 часа. НЕ работает(
Ответить с цитированием
  #28 (permalink)  
Старый 26.03.2019, 14:11
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от ddro3doff
часовой пояс на компьютере на +6
Вы живёте в где-то около Индии или в Бангладеше?

Посмотрите скрипт, который я написал... https://jsfiddle.net/5ts70kr2/ Он работает, даже если пользователь относится к тем 1% о котором я писал выше!
Ответить с цитированием
  #29 (permalink)  
Старый 26.03.2019, 14:14
Аспирант
Отправить личное сообщение для ddro3doff Посмотреть профиль Найти все сообщения от ddro3doff
 
Регистрация: 22.03.2019
Сообщений: 47

Сообщение от Malleys Посмотреть сообщение
Вы живёте в где-то около Индии или в Бангладеше?

Посмотрите скрипт, который я написал... https://jsfiddle.net/5ts70kr2/ Он работает, даже если пользователь относится к тем 1% о котором я писал выше!
Я наверно не верно описал что должен делать скрипт.
На сайте проходит игра "синхрон". Игра проходит каждую пятницу с 19 00 -19 50. Люди играют с разных стран и часовых поясов. Скрипт должен отсчитывать время до игры независимо от времени пользователя или его часового пояса. Ваш скрипт стоит на странице http://vsmislie.ru/.
Ответить с цитированием
  #30 (permalink)  
Старый 26.03.2019, 14:17
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от ddro3doff
Игра проходит каждую пятницу с 19 00 -19 50.
По какому времени? Если по московскому, то скрипт именно делает то, что вы хотите!
Сообщение от ddro3doff
Скрипт должен отсчитывать время до игры независимо от времени пользоватея или его часового пояса.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Handlebars + React.js: как заставить работать? The_Nobody Библиотеки/Тулкиты/Фреймворки 4 29.09.2015 12:24
Как заставить работать среди php(wp) Takun Общие вопросы Javascript 0 10.12.2014 16:47
Новичок, подскажите как оптимизировать скрипт. asdds AJAX и COMET 4 05.12.2014 23:29
как заставить работать часы d4a1 Общие вопросы Javascript 2 04.08.2011 21:29
А как зделать скрипт, чтобы например скрипт 1 заменялся скриптом 2? yura371 Общие вопросы Javascript 3 06.01.2009 22:40