当它应该是负数时,时间差给出正值

时间:2015-01-28 10:16:47

标签: javascript

要计算现在和时间X之间的差异,请使用以下内容:

var splitPickDate= startDate.split('/');
var splitPick = startTime.split(':');
var timeCalc = new Date(parseInt(splitPickDate[2]),parseInt(splitPickDate[0]),parseInt(splitPickDate[1]), parseInt(splitPick[0]), parseInt(splitPick[1]));
var now = new Date();
var diffNow = timeCalc - now;

假设splitPickDate = '01/28/2015'splitPick = '00:00'now = Wed Jan 28 2015 15:35:04 GMT+0530 (India Standard Time)我不应该为diffNow获得负值吗?

我在计算两次之间的时差时错了吗?

1 个答案:

答案 0 :(得分:1)

我认为那是因为在JS使用数字时,1月= 0,2月= 1等等。

您的代码只使用字符串中的1,该字符串创建的日期为2月28日,而不是1月28日。所以你从2月份的时间减去1月份的时间。这肯定是肯定的。

有了这个。您的计算将适用于那些特定日期:

var timeCalc = new Date(parseInt(splitPickDate[2]),parseInt(splitPickDate[0]),parseInt(splitPickDate[1]), parseInt(splitPick[0]), parseInt(splitPick[1]));