Получить дату и время онлайн

92
31 марта 2022, 06:30

Есть счетчик привязанный к дате, который считает (как бы) число умерших от курения. И работает по алгоритму +123 каждую секунду начиная с нуля. Этот счетчик нужно разместить на странице, к дате его привязали чтобы он не сбрасывался при обновлении страницы и для всех пользователей показывали одно и тоже число. Но проблема привязки к дате относительно даты пользователя является не очень хорошей практикой, т.к. они могут поменять дату на пк и увидеть уже неправильные числа или банально неправильная дата на пк так же приводит к фиаско. Поэтому было решение привязать счетчик к дате онлайн, однока как получить его онлайн не ясно. Из этого и вопрос, Как получить дату онлайн в javascript?

счетчик привязанный к дате пользователя

  var startValue = 0;   
  var startTime = (new Date()).getTime();   
  var inSec = 123;   
 
  value = startValue + Math.round(((new Date).getTime() - startTime) / 1000 * inSec); 
   
  function add() { 
      value += inSec; 
       document.getElementById("count").innerHTML = value; 
  } 
   
  setInterval(add, 1000);
<div id="count"> 
</div>


Код на jsfiddle

Answer 1

Вы можете получить текущее время либо через API, либо дополнительные скрипты.
Пример:

    time100.init({ 
        timenow:{zone:"Europe/Moscow",format:"%H:%i:%s"} 
    });
<span class="timenow" id="time"></span> 
<script type="text/javascript" src="http://time100.ru/t.js"></script>

Дополнения в код автора.

    time100.init({ 
        timenow:{zone:"Europe/Moscow",format:"%Y,%m,%d %H:%i:%s"} 
    }); 
 
    window.onload = function () { 
        var time = document.getElementById('time').innerText; 
        var startValue = 0; 
 
        var startTime = (new Date(time)).getTime(); 
         
        var inSec = 123; 
 
        value = startValue + Math.round(((new Date(time)).getTime() - startTime) / 1000 * inSec); 
 
        function add() { 
            value += inSec; 
            document.getElementById("count").innerHTML = value; 
        } 
        setInterval(add, 1000); 
    };
<span class="timenow" id="time" hidden></span> 
<div>Погибших от курения</div> 
<div id="count"></div> 
<script type="text/javascript" src="http://time100.ru/t.js"></script>

READ ALSO
Как можно из бд (ajax) вывести javascript массив?

Как можно из бд (ajax) вывести javascript массив?

увзнатоки помогите вывести записи из базы данных на страницу в Javascript массив, и что бы он обновлялся через ajax

101
Удалить элемент из массива Jquery

Удалить элемент из массива Jquery

Как правильно удалить элемент из массива, если его id = chat_id? что-то похожее на это, только мой вариант не работает

85
JQuery по нажатию кнопок функция инкрементно срабатывает

JQuery по нажатию кнопок функция инкрементно срабатывает

Создаю в js таблицу, где в одной из колонок в каждой строке создаю кнопки

97
Ошибка в DevTools

Ошибка в DevTools

Первый раз выскочило предупреждение в DevTools :

182