Итак, я знаю, что могу получить текущее время в миллисекундах с помощью JavaScript. Но возможно ли получить текущее время в наносекундах?
Есть ли способ получить текущее время в наносекундах с использованием JavaScript?
Ответ 1
Теперь вы можете получить точность микросекунды в большинстве браузеров: window.performance.now().
Смотрите http://gent.ilcore.com/2012/06/better-timer-for-javascript.html, https://developer.mozilla.org/en-US/docs/Web/API/Performance.now() и http://www.w3.org/TR/hr-time/.
Ответ 2
На основе ответа Джеффри, чтобы получить абсолютную отметку времени (как захотел OP), код будет:
var TS = window.performance.timing.navigationStart + window.performance.now();
результат находится в миллисекундах, но является значением с плавающей точкой, сообщенным "с точностью до одной тысячной миллисекунды".
Ответ 3
Нет. Нет шансов, что вы получите наносекундную точность на уровне JavaScript.
Если вы пытаетесь сравнить некоторые очень быстрые операции, поместите их в цикл, который запускает его несколько тысяч раз.
Ответ 4
JavaScript записывает время в миллисекундах, поэтому вы не сможете получить время для этой точности. Ответ smart-aleck заключается в "умножении на 1 000 000".
Ответ 5
В средах на стороне сервера, таких как Node.js, вы можете использовать следующую функцию, чтобы получить время в наносекундах
function getNanoSecTime() {
var hrTime = process.hrtime();
return hrTime[0] * 1000000000 + hrTime[1];
}
Ответ 6
Да! Попробуйте отличный sazze нано-время
let now = require('nano-time');
now(); // '1476742925219947761' (returns as string due to JS limitation)