为了计算现在与时间 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(印度标准时间)
我应该不会得到 diffNow
的负值吗?
我计算两个时间之间的时间差有错吗?
最佳答案
我认为那是因为在 JS 中,当你使用数字表示月份时,一月 = 0,二月 = 1 等。
您的代码仅使用字符串中的 1 来创建 2 月 28 日的日期,而不是 1 月 28 日。因此,您从二月时间减去一月时间。这肯定是积极的。
有了这个。您的计算对于这些特定日期来说是可以的:
var timeCalc = new Date(parseInt(splitPickDate[2]),parseInt(splitPickDate[0]),parseInt(splitPickDate[1]), parseInt(splitPick[0]), parseInt(splitPick[1]));
关于javascript - 时间差在应为负值时却给出正值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28189620/