如何使用Moment.js获取总时数HH:MM格式?

San*_* Di 3 javascript momentjs

我想使用Moment.js计算一周的总时间。请指教。这是我到目前为止尝试过的:

total = "00:00";
for (var i in json_obj) {

    var timeEnd = json_obj[i].END;
    var timeStart = json_obj[i].START;

    var timeDiff = moment.utc(moment(timeEnd, "HH:mm:ss").diff(moment(timeStart, "HH:mm:ss"))).format("HH:mm");
    var res = timeDiff;
    total = moment().add(res);
Run Code Online (Sandbox Code Playgroud)

J-D*_*J-D 5

这是我在SO和moment.js文档的帮助下实现的。

var startTime = moment("06:10:00", 'hh:mm');
var endTime = moment("08:00:00", 'hh:mm');

var totalSec = endTime.diff(startTime, 'seconds');

var hours = parseInt(totalSec / 3600) % 24;
var minutes = parseInt(totalSec / 60) % 60;
var seconds = totalSec % 60;

var result = (hours < 10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes) + ":" + (seconds < 10 ? "0" + seconds : seconds);
Run Code Online (Sandbox Code Playgroud)

该解决方案并没有完全用矩来实现,而是结合了老式的逻辑和矩js。

但这将满足您的要求。

要么

要删除旧的逻辑并真正使用,请使用以下代码。

var result = moment().startOf('day')
        .seconds(totalSec)
        .format('H:mm')
Run Code Online (Sandbox Code Playgroud)

JSFiddle具有两个版本。