Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.08.2016, 21:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Rise
Ну позвоните в другой часовой пояс и узнайте какое у них время и сравните с вашим не думаю что единое...
Я и без звонков знаю, что оно будет единое плюс/минус неточность хода часов у каждого клиента. Но для этого есть синхронизация времени по Интернету, посредством JS синхронизировать время вы не сможете. Работать по таймштамп сервера тоже секунда в секунду не получится, ибо запрос страницы тоже может быть с задержкой и приличной.

Сервер отдает смещение временных зон, расположенных западнее UTC как отрицательные числа, а расположенных восточнее UTC как положительные. У клиента же наоборот западные смещения положительные, а восточные отрицательные.

Смещение на которое корректируются часы, это "смещение клиента + смещение сервера", то есть при любом смещении получаем часы сервера. Точность определяется точностью часов на клиенте.

Проверяйте, совсем не сложно в примере вместо new Date().getTimezoneOffset() * 60 * 1000 подставляя все смещения для России, и используя таймшатам клиентский соответствующий этим смещениям, убедится, что время будет одно.

А вот контроль чего-то, если нужен, то это только на сервере.

Последний раз редактировалось laimas, 13.08.2016 в 21:39.
Ответить с цитированием
  #12 (permalink)  
Старый 14.08.2016, 02:16
Интересующийся
Отправить личное сообщение для singmen Посмотреть профиль Найти все сообщения от singmen
 
Регистрация: 20.07.2014
Сообщений: 15

<div id="timeClock"></div>
<script language="JavaScript">
delta = new Date() - <? echo time()*1000 ?> ;
time = new Date();
function fulltime() {
time.setTime(new Date() - delta);
document.getElementById("timeClock").innerHTML = time.toLocaleString();
setTimeout('fulltime()',1000)
}
fulltime();
</script>


вот в таком виде сделал, все отлично, но вывод идет в виде: 14.08.2016, 1:16:10, как оставить на вывод только время?
Ответить с цитированием
  #13 (permalink)  
Старый 14.08.2016, 02:30
Интересующийся
Отправить личное сообщение для singmen Посмотреть профиль Найти все сообщения от singmen
 
Регистрация: 20.07.2014
Сообщений: 15

смог.
document.getElementById("timeClock").innerHTML = time.toTimeString().substring(0,8);
Ответить с цитированием
  #14 (permalink)  
Старый 14.08.2016, 07:46
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от laimas
синхронизировать чеса клиентов
Новое слово в русском языке и в программировании.

ТС, тебе всего лишь надо передать серверное время в long в скрипт один раз при загрузке страницы.

Какое это время будет - Московское или Мухосранское - не имеет значения, поскольку ты собираешься к нему привязывать часики на веб-странице. То есть локальное время юзера вообще не колебет по условиям задачи в первом сообщении.

Если тебе на сервере требуется московское время - ну так задай там зону для Europe/Moscow (я так думаю должно быть) и будет тебе по умолчанию город по умолчанию.

Смещения "чесав" для пользователя требуется лишь в том случае, когда тебе надо привязать его локальное время к серверному, чтобы, например понять когда у него ночь, а когда день, когда утро, когда время чистить зубки и спать.
Ответить с цитированием
  #15 (permalink)  
Старый 14.08.2016, 12:34
Интересующийся
Отправить личное сообщение для singmen Посмотреть профиль Найти все сообщения от singmen
 
Регистрация: 20.07.2014
Сообщений: 15

<script language="JavaScript">
delta = new Date() - 1471166553000 ;
time = new Date();
function fulltime() {
time.setTime(new Date() - delta);
document.getElementById("timeClock").innerHTML = time.toTimeString().substring(0,8);

setTimeout('fulltime()',1000)
}
fulltime();
</script>


как оказалось, все равно действует по разному, т.е. если у меня не московское, то и им покажет не москву.
Ответить с цитированием
  #16 (permalink)  
Старый 14.08.2016, 12:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от warren buffet
надо передать серверное время в long в скрипт...
Какое это время будет - Московское или Мухосранское - не имеет значения
От придурок, а том что запрос страницы, ее открытие и рендеринг, это время, об этом ты не подумал?


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

Последний раз редактировалось laimas, 14.08.2016 в 17:09.
Ответить с цитированием
  #17 (permalink)  
Старый 17.08.2016, 10:17
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от laimas
не подумал?
Подумал что пофигу на секунды, а если у него минуту загружается, то выкинуть такой сайт в помойку. )))
Ответить с цитированием
  #18 (permalink)  
Старый 17.08.2016, 10:18
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Типа юзеры такие созвонились и сверяют часики на его сайте: у меня на 3с отстают. - А у меня ажно на 5. - У меня тоже не точно московское, я протестил на яндексе. Капец блин сайт отстой, даже время одинаковое для всех не может показать.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
часы для сайта помогите собрать bulkashev Ваши сайты и скрипты 0 30.07.2013 11:50
Часы сервера на javascript и php NexXT Общие вопросы Javascript 3 14.03.2013 15:05
Не работают Часы Dimanchik87 Events/DOM/Window 2 08.03.2013 03:04
Помагите пожалуйста скрипт со временем Sejmon Общие вопросы Javascript 20 15.01.2013 20:29
аналоговые часы v4567 Ваши сайты и скрипты 4 06.06.2009 19:00