javascript两个不同输入之间的时间

时间:2012-01-15 20:35:20

标签: javascript datetime

说我想定义一个函数“start”和一个函数“stop”,我想尽可能准确地输出两个函数之间的实时调用?经过的时间可能是几微秒。

4 个答案:

答案 0 :(得分:1)

在每个方法的开头创建新的Date对象。使用getTime()方法获取日期的毫秒值。从start值中减去end值。这是差异,以毫秒为单位。

我不知道在浏览器端javascript中获得比毫秒时间分辨率更好的一般方法。

答案 1 :(得分:1)

手册,老式的方式是:

var a = new Date();

// do stuff

var b = new Date();

console.log("stuff took:", b.getTime() - a.getTime());

如果您使用的是现代Chrome浏览器,则可以使用控制台支持:

console.time('stuff');

// do stuff

console.timeEnd('stuff');

它将为您打印时间。

答案 2 :(得分:0)

Date对象的粒度仅为毫秒级,因此您可以做的最好。

var Host = {
    start : function() {
        this.time = new DateTime().getTime();
        //method
    },
    stop : function() { 
        this.diff = this.time - new DateTIme().getTime();
        //do stuff
    }
}

答案 3 :(得分:0)

我能想到的最准确的方法是使用

setTimeout(function2, offset)
function1();

在这种情况下,设置顺序使得计时器是绝对的,因为它启动计时器是入口点

function1();
setTimeout(function2, offset)

在这种情况下,计时器的起点相对于第一个函数的完成。