Javascript ajax发送和接收之间的时间返回负值
我试图测量发送和接收ajax请求之间的时间,但它通常返回负值。Javascript ajax发送和接收之间的时间返回负值,javascript,jquery,ajax,Javascript,Jquery,Ajax,我试图测量发送和接收ajax请求之间的时间,但它通常返回负值。 有人能解释这种奇怪的行为吗 var before = 0; var after = 0; $.ajax({ url: 'data.php', type: 'GET', beforeSend: function () { before = new Date().getMilliseconds(); }, success: function (data, textStatus, x
有人能解释这种奇怪的行为吗
var before = 0;
var after = 0;
$.ajax({
url: 'data.php',
type: 'GET',
beforeSend: function () {
before = new Date().getMilliseconds();
},
success: function (data, textStatus, xhr) {
after = new Date().getMilliseconds();
console.log(after - before);
},
});
将其更改为:
beforeSend: function () {
before = +new Date();
},
success: function (data, textStatus, xhr) {
console.log(new Date() - before);
},
当前实现的问题是Date.getmillizes()
返回给定日期时间的千秒部分,即介于0和999[]之间的数字。但实际上,您需要比较给定日期时间的“毫秒统计”——这就是[]的Date.valueOf()
(或Date.getTime()
)的含义:
valueOf
方法将日期对象的原始值作为
number数据类型,自午夜01起的毫秒数
协调世界时1970年1月
但是,您可以忽略这些调用,因为-
操作首先尝试将其操作数强制转换为基本体(如果它们是对象)。所以这个
console.log(new Date() - before);
。。。将被处理为与
console.log(new Date().valueOf() - before);
由于将起始点作为完整日期对象存储在之前的中没有什么意义,因此它被转换为一个基本值-使用+
(一元加号)运算符。将其更改为:
beforeSend: function () {
before = +new Date();
},
success: function (data, textStatus, xhr) {
console.log(new Date() - before);
},
当前实现的问题是Date.getmillizes()
返回给定日期时间的千秒部分,即介于0和999[]之间的数字。但实际上,您需要比较给定日期时间的“毫秒统计”——这就是[]的Date.valueOf()
(或Date.getTime()
)的含义:
valueOf
方法将日期对象的原始值作为
number数据类型,自午夜01起的毫秒数
协调世界时1970年1月
但是,您可以忽略这些调用,因为-
操作首先尝试将其操作数强制转换为基本体(如果它们是对象)。所以这个
console.log(new Date() - before);
。。。将被处理为与
console.log(new Date().valueOf() - before);
由于将起始点作为完整日期对象存储在
之前的中没有什么意义,因此它被转换为一个基本值-使用+
(一元加号)运算符。将其更改为:
beforeSend: function () {
before = +new Date();
},
success: function (data, textStatus, xhr) {
console.log(new Date() - before);
},
当前实现的问题是Date.getmillizes()
返回给定日期时间的千秒部分,即介于0和999[]之间的数字。但实际上,您需要比较给定日期时间的“毫秒统计”——这就是[]的Date.valueOf()
(或Date.getTime()
)的含义:
valueOf
方法将日期对象的原始值作为
number数据类型,自午夜01起的毫秒数
协调世界时1970年1月
但是,您可以忽略这些调用,因为-
操作首先尝试将其操作数强制转换为基本体(如果它们是对象)。所以这个
console.log(new Date() - before);
。。。将被处理为与
console.log(new Date().valueOf() - before);
由于将起始点作为完整日期对象存储在
之前的中没有什么意义,因此它被转换为一个基本值-使用+
(一元加号)运算符。将其更改为:
beforeSend: function () {
before = +new Date();
},
success: function (data, textStatus, xhr) {
console.log(new Date() - before);
},
当前实现的问题是Date.getmillizes()
返回给定日期时间的千秒部分,即介于0和999[]之间的数字。但实际上,您需要比较给定日期时间的“毫秒统计”——这就是[]的Date.valueOf()
(或Date.getTime()
)的含义:
valueOf
方法将日期对象的原始值作为
number数据类型,自午夜01起的毫秒数
协调世界时1970年1月
但是,您可以忽略这些调用,因为-
操作首先尝试将其操作数强制转换为基本体(如果它们是对象)。所以这个
console.log(new Date() - before);
。。。将被处理为与
console.log(new Date().valueOf() - before);
由于将起始点作为完整日期对象存储在之前的中没有什么意义,因此它被转换为一个基本值-使用+
(一元加号)运算符。我认为您对Date.getTime()
和Date.getmillizes
getTime被定义为
返回指定日期的数值作为
自1970年1月1日00:00:00 UTC起的毫秒数(之前为负值
时报)
所以,这也是正确的
before = new Date().getTime();
用于测量执行时间的MDN示例使用
var end, start;
start = new Date();
for (var i = 0; i < 1000; i++)
Math.sqrt(i);
end = new Date();
console.log("Operation took " + (end.getTime() - start.getTime()) + " msec");
var结束,开始;
开始=新日期();
对于(变量i=0;i<1000;i++)
数学sqrt(i);
结束=新日期();
log(“操作耗时”+(end.getTime()-start.getTime())+“毫秒”);
我想你对Date.getTime()
和Date.getmillizes
getTime被定义为
返回指定日期的数值作为
自1970年1月1日00:00:00 UTC起的毫秒数(之前为负值
时报)
所以,这也是正确的
before = new Date().getTime();
用于测量执行时间的MDN示例使用
var end, start;
start = new Date();
for (var i = 0; i < 1000; i++)
Math.sqrt(i);
end = new Date();
console.log("Operation took " + (end.getTime() - start.getTime()) + " msec");
var结束,开始;
开始=新日期();
对于(变量i=0;i<1000;i++)
数学sqrt(i);
结束=新日期();
log(“操作耗时”+(end.getTime()-start.getTime())+“毫秒”);
我想你对Date.getTime()
和Date.getmillizes
getTime被定义为
返回指定日期的数值作为
自1970年1月1日00:00:00 UTC起的毫秒数(之前为负值
时报)
所以,这也是正确的
before = new Date().getTime();
用于测量执行时间的MDN示例使用
var end, start;
start = new Date();
for (var i = 0; i < 1000; i++)
Math.sqrt(i);
end = new Date();
console.log("Operation took " + (end.getTime() - start.getTime()) + " msec");
var结束,开始;
开始=新日期();
对于(变量i=0;i<1000;i++)
数学sqrt(i);
结束=新日期();
log(“操作耗时”+(end.getTime()-start.getTime())+“毫秒”);
我想你对Date.getTime()
和Date.getmillizes
getTime被定义为
返回指定日期的数值作为
自1970年1月1日00:0起的毫秒数