格式两次之间的差异(hh:mm:ss)

Tir*_*ndu 4 javascript datetime node.js momentjs

我有两次,让我们说:

t1= '05:34:01' ;
t2= '20:44:44' ;
Run Code Online (Sandbox Code Playgroud)

我想要两种相同格式的两次评估差异.喜欢上面的结果必须来

t3= t2 - t1;  // 15:10:43 
Run Code Online (Sandbox Code Playgroud)

这样做的方法是什么?

bra*_*ipt 10

强烈建议您在项目中包含moment.js,如果您需要处理时间.

例:

var t1 = moment('05:34:01', "hh:mm:ss");
var t2 = moment('20:44:44', "hh:mm:ss");
var t3 = moment(t2.diff(t1)).format("hh:mm:ss");
Run Code Online (Sandbox Code Playgroud)

工作jsFiddle

要在Node.js中安装moment.js ,只需执行以下操作:

npm install moment(或全局安装sudo npm -g install moment)

然后在你的Node.js中,包含它如下:

var moment = require('moment');
Run Code Online (Sandbox Code Playgroud)

编辑:24小时制,hh改为HH.


Cyc*_*ode 5

我也会选择,moment.js但你可以这样做:

function time_diff(t1, t2) {
   var parts = t1.split(':');
   var d1 = new Date(0, 0, 0, parts[0], parts[1], parts[2]);
   parts = t2.split(':');
   var d2 = new Date(new Date(0, 0, 0, parts[0], parts[1], parts[2]) - d1);
   // this would also work
   // d2.toTimeString().substr(0, d2.toTimeString().indexOf(' '));
   return (d2.getHours() + ':' + d2.getMinutes() + ':' + d2.getSeconds());
}
Run Code Online (Sandbox Code Playgroud)