Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Почему new Date() не перезаписывается поверху? (https://javascript.ru/forum/events/66251-pochemu-new-date-ne-perezapisyvaetsya-poverkhu.html)

sovsem-nub 03.12.2016 19:58

Почему new Date() не перезаписывается поверху?
 
Есть простой кодик. Хочу каждую секунду добавлять к часикам секунду и выводит на экран. Цифра меняется, а дата которая должна вытекать из этой цифры почему-то нет... https://jsfiddle.net/65h877xc/

<div id="timestamp">0</div>


<script>

var timestamp=0;

var timerId = setInterval(function() {
  timestamp=timestamp+1;

  document.getElementById('timestamp').innerHTML=new Date(timestamp)+"||||"+timestamp;
}, 1000);

</script>

sovsem-nub 03.12.2016 21:53

буду секунду тогда прибавлять
<div id="timestamp">0</div>

<script>
var timestamp=0;

lll=new Date(timestamp);
// начать повторы с интервалом 1 сек
var timerId = setInterval(function() {
 lll.setSeconds(lll.getSeconds() + 1);
  document.getElementById('timestamp').innerHTML=lll;
}, 1000);
</script>


вот полный код, который берет API времени со стороннего сервера и начинает к нему прибавлять секунду https://jsfiddle.net/qLcqueov/4/

таким образом можно сделать часы не привязанные к времени на компьютере.

рони 03.12.2016 22:23

Цитата:

Сообщение от sovsem-nub
буду секунду тогда прибавлять

не будешь, это не возможно

sovsem-nub 04.12.2016 10:24

Цитата:

Сообщение от рони (Сообщение 436983)
не будешь, это не возможно

как зная секунды с 1970 года вывести время без учета часового пояса?

var utcDate = new Date(Date.UTC(96, 11, 1, 0, 0, 0)); вот это не принимает мой timestamp

рони 04.12.2016 11:06

Цитата:

Сообщение от sovsem-nub
вывести время без учета часового пояса?

:-? .toUTCString()

рони 04.12.2016 11:48

sovsem-nub,
<div id="timestamp">0</div>

<script>
var timestart = performance.now();
var d = Date.UTC(96, 11, 1, 0, 0, 0);
// начать повторы с интервалом 1 сек
var timerId = setInterval(function() {
  var x = (performance.now()- timestart)|0;
  document.getElementById('timestamp').innerHTML= new Date(d + x).toUTCString() ;
}, 673);//значение интервала не важно, лучше меньше 1000
</script>

sovsem-nub 04.12.2016 13:01

то есть если 1000 миллисекунд складывать 60 раз, то не факт, что минута получится? какая там погрешность набегает?

и как получить время если изначально только секунды
var d = Date.UTC(1480845285504); не работает

рони 04.12.2016 13:19

Цитата:

Сообщение от sovsem-nub
только секунды

* 1000

рони 04.12.2016 13:23

Цитата:

Сообщение от sovsem-nub
то есть если 1000 миллисекунд складывать 60 раз, то не факт, что минута получится? какая там погрешность набегает?

реальная-частота-срабатывания

sovsem-nub 04.12.2016 14:15

Цитата:

Сообщение от рони (Сообщение 437018)
* 1000

var d = Date.UTC(1480845285504000);

Invalid Date :-?


Часовой пояс GMT +3, время: 02:54.