我有两个HH:mm
格式的时间戳,我需要计算它们之间的差异,表示相同HH:mm
格式的时间间隔。
JavaScript中是否有任何实用程序可以实现这一点?我尝试使用Date
对象,但我找不到有用的东西......你能帮帮我吗?
我有两个HH:mm
格式的时间戳,我需要计算它们之间的差异,表示相同HH:mm
格式的时间间隔。
JavaScript中是否有任何实用程序可以实现这一点?我尝试使用Date
对象,但我找不到有用的东西......你能帮帮我吗?
您可以将两个日期相减,结果将以毫秒为单位。
// using static methods
var start = Date.now();
// the event you'd like to time goes here:
doSomethingForALongTime();
var end = Date.now();
var elapsed = end - start; // time in milliseconds
由于 Date 有一个接受毫秒作为参数的构造函数,因此您只需执行以下操作即可将其重新转换为 Date
var difference = new Date(elapsed);
//If you really want the hours/minutes,
//Date has functions for that too:
var diff_hours = difference.getHours();
var diff_mins = difference.getMinutes();
像这样的东西:
var t1 = '12:04'.split(':'), t2 = '3:45'.split(':');
var d1 = new Date(0, 0, 0, t1[0], t1[1]),
d2 = new Date(0, 0, 0, t2[0], t2[1]);
var diff = new Date(d1 - d2);
假设 tim1 是像“09:15”这样的字符串,而 tim2 是像“19:05”这样的字符串,那么 tim2 和 tim1 之间的差异可以通过以下 javascript 代码得出:-
var tim1='09:15',tim2='19:05';
var ary1=tim1.split(':'),ary2=tim2.split(':');
var minsdiff=parseInt(ary2[0],10)*60+parseInt(ary2[1],10)-parseInt(ary1[0],10)*60-parseInt(ary1[1],10);
alert(String(100+Math.floor(minsdiff/60)).substr(1)+':'+String(100+minsdiff%60).substr(1));