我编写了以下代码来检查时差是否大于60分钟。 如果差异小于60,则false应返回到控制台,否则为true。 这里当我使用两种时间格式(如下面的代码中所述)时,输出为-1310,大于-1380但仍然返回false。我期待的是真的。
下面是代码:
var currDay = new Date("2018-02-21T23:40:00+05:30");
console.log(currDay);
var nextDay = new Date("2018-02-22T01:50:00+05:30");
console .log(nextDay);
var currTime = (currDay.getHours() + ':' + currDay.getMinutes()).split(':');
console.log(currTime);
var currTimeHourToMinutes = parseInt(currTime[0]*60);
var currTimeMinutespart = parseInt(currTime[1]);
var TotalCurrTimeInMinutes = parseInt(currTimeHourToMinutes + currTimeMinutespart) ;
console.log(TotalCurrTimeInMinutes);
var deptTime = (nextDay.getHours() + ':' + nextDay.getMinutes()).split(':');
console.log(deptTime);
var depTimeHourToMinutes = parseInt(deptTime[0]*60);
var deptTimeMinutespart = parseInt(deptTime[1]);
var TotalDeptTimeInMinutes = parseInt(depTimeHourToMinutes+ deptTimeMinutespart);
console.log(TotalDeptTimeInMinutes);
var diffInArrivalAndDeptTime = TotalDeptTimeInMinutes-TotalCurrTimeInMinutes;
console.log(diffInArrivalAndDeptTime);
if((diffInArrivalAndDeptTime >= "60") && (diffInArrivalAndDeptTime > "-1380") )
{
console.log("true1");
}
else
{
console.log("false");
}
P.S。我正在使用Chrome开发人员代码段来运行代码。
答案 0 :(得分:0)
减去两个日期会给出以毫秒为单位的差异。除以60000得到分钟。
date1 = new Date(*/some date*/);
date2 = new Date(*/some date*/);
diffInMinutes = Math.abs(date1 - date2) / 60000;