javascript - 时间差在应为负值时却给出正值

标签 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(印度标准时间) 我应该不会得到 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/

相关文章:

javascript - 在 javascript 中更新 vscode 注释

javascript - 动态添加一个 prop 到 ReactJS 对象

javascript - 如何为跨度属性创建正则表达式?

javascript - JS : body tag onload equivalent?

javascript - Bootstrap popover 不会触发刚刚添加到 DOM 的元素

javascript - 如何解决错误 "URL scheme must be "http"或 CORS 请求的 "https""。对于此代码

javascript - jQuery Ajax 等待每个函数

javascript - 将 Angular 与 MVC 部分 View 混合

JavaScript 正则表达式,没有获得所有匹配项,我在这里缺少什么?

javascript - 如何将静态文本添加到输入值