Y a-t-il un moyen d'obtenir l'heure actuelle dans les nanosecondes à l'aide de JavaScript?
-
13-11-2019 - |
Question
Donc, je sais que je peux obtenir l'heure actuelle en millisecondes en utilisant JavaScript.Mais est-il possible d'obtenir l'heure actuelle dans les nanosecondes à la place?
La solution
Atteindre la précision microseconde dans la plupart des navigateurs utilisant:
window.performance.now()
Voir aussi:
Autres conseils
Bâtiment sur la réponse de Jeffery, pour obtenir un timbre temporel absolu (comme le souhaité OP), le code serait:
var TS = window.performance.timing.navigationStart + window.performance.now();
résultat est en millisecond unités mais est une valeur à virgule flottante aurait été " précise à un millième de milliseconde ".
Dans les environnements latéraux du serveur tels que Node.js Vous pouvez utiliser la fonction suivante pour obtenir le temps dans Nanoseconde
function getNanoSecTime() {
var hrTime = process.hrtime();
return hrTime[0] * 1000000000 + hrTime[1];
}
Obtenez également des micro secondes de la même manière que:
function getMicSecTime() {
var hrTime = process.hrtime();
return hrTime[0] * 1000000 + parseInt(hrTime[1] / 1000);
}
non.Il n'y a aucune chance que vous obtiendrez une précision nanoseconde à la couche JavaScript.
Si vous essayez de comparer une opération très rapide, mettez-la dans une boucle qui le gère quelques mille fois.
JavaScript enregistre le temps en millisecondes, vous ne pourrez donc pas avoir du temps à cette précision.Le La réponse intelligente est de "multiplier par 1 000 000".
Oui!Essayez l'excellent nano-time
let now = require('nano-time');
now(); // '1476742925219947761' (returns as string due to JS limitation)