我需要计算两个日期对象之间的经过时间

lli*_*ocs 12 javascript

我有一个从保存在数据库中的变量创建的日期对象.

var prevTime = Date(year,month,day,hour,minute);
Run Code Online (Sandbox Code Playgroud)

我想计算这和当前时间之间的差异.

var thisTime = Date();
Run Code Online (Sandbox Code Playgroud)

我这样做:

prevTime.getTime() - thisTime.getTime();
Run Code Online (Sandbox Code Playgroud)

它给了我一个非常大的负数.我除以1000得到秒,然后除以3600得到几小时.我需要一个小时的经过时间.我最终得到一个像-756.00的数字.如果当前时间大于前一次,为什么数字为负数?我究竟做错了什么?

谢谢,

斯科特

jfr*_*d00 17

当前时间大于上一次,因此从较小的数字中减去较大的数字会得到一个负数.如果您想要时间的正差异,请撤消订单.这个问题还有更多吗?

演示在这里:http://jsfiddle.net/jfriend00/NYSsp/

var prevTime = new Date(2011,1,1,0,0);  // Feb 1, 2011
var thisTime = new Date();              // now
var diff = thisTime.getTime() - prevTime.getTime();   // now - Feb 1
alert(diff / (1000*60*60*24));     // positive number of days
Run Code Online (Sandbox Code Playgroud)