你不能使用这样的日期。
请尝试以下操作:
var time1input = "04:00";
var time2input = "08:00";
var time1 = new Date("01/01/2013 " + time1input);
var time2 = new Date("01/01/2013 " + time2input);
var difference = time2.getTime() - time1.getTime();
console.log(difference / 60 / 60 / 1000); //<- whittle this down to hours
这将注销“4”。
如果您正在处理时间,请使用http://momentjs.com/之类的东西,它可以让您做一些很酷的事情,例如......
difference = moment(time2).diff(time1, 'hours'); //<- will return 4
格式(hh:mm):(假设使用与第一个示例的差异)
var hours = Math.floor(difference / 60 / 60 / 1000);
var minutes = Math.round(difference / 60 / 1000) % 60;
var formattedString = (hours > 10 ? hours : "0" + hours) + ":" + (minutes > 10 ? minutes : "0" + minutes);
4 小时时差将返回“04:00”,13 小时 30 分钟时差将返回 13:30。