ですから、JavaScriptを使用して現在の時間をミリ秒単位で取得できることを知っています。しかし、代わりにナノ秒単位で現在の時刻を取得することは可能ですか?
以下を使用して、ほとんどのブラウザーでマイクロ秒の精度を達成します。
window.performance.now()
こちらもご覧ください:
Jefferyの答えに基づいて、絶対タイムスタンプを取得するには(OPが望むように)、コードは次のようになります。
var TS = window.performance.timing.navigationStart + window.performance.now();
結果はミリ秒単位ですが、伝えられるところによると浮動小数点値「1000分の1ミリ秒の精度」です。
Node.jsなどのサーバー側環境では、次の関数を使用してナノ秒単位で時間を取得できます
function getNanoSecTime() {
var hrTime = process.hrtime();
return hrTime[0] * 1000000000 + hrTime[1];
}
同様にマイクロ秒も取得します:
function getMicSecTime() {
var hrTime = process.hrtime();
return hrTime[0] * 1000000 + parseInt(hrTime[1] / 1000);
}
いいえ。JavaScriptレイヤーでナノ秒の精度が得られる可能性はありません。
非常に高速な操作のベンチマークを実行しようとしている場合は、数千回実行するループに入れてください。
JavaScriptは時間をミリ秒単位で記録するため、その精度で時間を取得することはできません。 smart-aleck 答えは、「1,000,000で乗算」です。
はい!優れたサッズをお試しください nano-time
let now = require('nano-time');
now(); // '1476742925219947761' (returns as string due to JS limitation)