var a="14:10";
var b="19:02";
var date1=new Date("01-01-2017 " + a + ":00");
var date2=new Date("01-01-2017 " + b + ":00");
//diff will be the number of milliseconds between the two times.
var diff = Math.abs(date1 - date2);
alert(diff);
var
pieces = "14:02".split(':')
minute, second;
if(pieces.length === 2) {
minute = parseInt(pieces[0], 10);
second = parseInt(pieces[1], 10);
}
字符串 使用这个:
var date1 = new Date("7/13/2010");
var date2 = new Date("12/15/2010");
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
alert(diffDays);
5条答案
按热度按时间gt0wga4j1#
您有几个选择:
第一个选项:
字符串
而且你会得到真实的的日期对象。
第二种选择:
型
你会得到同样的结果。
uklbhaso2#
我不建议把日期和它们所有的古怪之处(时区、糟糕的API、夏令时、闰秒...)搞得乱七八糟。例如,如果你想计算
"3:05" - "2:00"
,而你的脚本恰好在DST切换发生的那天运行,如果你不小心的话,你可能会得到像0:05
这样的结果。幸运的是,解析一个带有时间的字符串并将其转换为一个更容易进行数学运算的单位是相当容易的:
字符串
您可以通过计算然后减去相应的
totalSeconds
来计算两次之间的差值。如果你把它 Package 在一个自定义函数或对象中,你就有了一些可重用的东西。举例来说:型
还值得注意的是,与基于日期的解决方案不同,这种方法适用于任意持续时间(例如运行时间而不是一天中的时间)。
5lhxktic3#
从我的头上:
字符串
当然这需要你在同样的24小时内完成。
ou6hu8tu4#
首先转换这个:
14:10 and 19:02
至今字符串
使用这个:
型
lh80um4z5#
Date.parse in javascript
我认为newDate.parseExact是用C#编写的,所以JavaScript中没有构造函数;