我正在计算两个日期之间的差异,其中有许多不同的示例可用。返回的时间以毫秒为单位,因此我需要将其转换为更有用的东西。
大多数示例都是天:小时:分钟:秒或小时:分钟,但我需要天:小时:分钟因此秒应四舍五入为分钟。
我当前使用的方法很接近,但显示 3 天为 2.23.60,而实际上应该显示 3.00.00,所以有些事情不太正确。由于我刚刚从网络上的示例中获取了当前代码,因此我愿意接受有关其他方法的建议。
我通过从结束日期减去开始日期来获取时间(以毫秒为单位),如下所示:-
date1 = new Date(startDateTime);
date2 = new Date(endDateTime);
ms = Math.abs(date1 - date2)
我基本上需要将 ms 变量转换为 days.hours:mins。
像这样的东西吗?
function dhm(t){
var cd = 24 * 60 * 60 * 1000,
ch = 60 * 60 * 1000,
d = Math.floor(t / cd),
h = Math.floor( (t - d * cd) / ch),
m = Math.round( (t - d * cd - h * ch) / 60000),
pad = function(n){ return n < 10 ? '0' + n : n; };
if( m === 60 ){
h++;
m = 0;
}
if( h === 24 ){
d++;
h = 0;
}
return [d, pad(h), pad(m)].join(':');
}
console.log( dhm( 3 * 24 * 60 * 60 * 1000 ) );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)