Дата getSeconds возвращает 0 при вычитании до другой даты getSeconds

#javascript

Вопрос:

 function returntime() {  var start = new Date().getSeconds();  var end = new Date().getSeconds();  var totaltime = end - start;  document.getElementById("Answer").innerHTML = totaltime; }  

Общее время возвращает 0, но когда я ставлю начало или конец, он показывает результат.

Комментарии:

1. Без какой-либо задержки начало и конец находятся всего в нескольких микро — /наносекундах друг от друга, так что, скорее всего, будут в одном и том же количестве секунд

2. Это происходит потому, что выполнение выполняется так быстро, что нет задержки в секундах. Если вы замените getSeconds на getTime , вы сможете увидеть разницу в миллисекундах, и вы должны получить хоть какой-то результат.

Ответ №1:

Между обоими утверждениями нет задержки.

 var start = new Date().getSeconds();  var end = new Date().getSeconds();  

Смотрите это изображение для вывода отладчика

Ответ №2:

Вы просите несколько секунд. Код выполняется быстрее, чем за секунду. Например, вы получаете 9 секунд в начале и 9 секунд в конце. Если вы попросите миллисекунды, вы увидите, что у вас будет другой результат.