将秒数添加到单元格的格式化时间

Add seconds to formatted time from cell

我得到这个格式化时间 HH:MM:SS:MS。

$('#myTable').jqGrid('getCell', rowid, "time")

这给了我一个单元格的值。假设它是:00:00:07:57 我想加 30 秒所以它说:00:00:37:57.

我是如何安排时间的:

 var date = new Date(seconds * 1000);
    var hh = date.getUTCHours();
    var mm = date.getUTCMinutes();
    var ss = date.getSeconds();
    var ms = date.getMilliseconds();

    if (hh < 10) { hh = "0" + hh; }
    if (mm < 10) { mm = "0" + mm; }
    if (ss < 10) { ss = "0" + ss; }
    if (ms < 10) { ms = "0" + ms; }
    // This formats your string to HH:MM:SS:MS

    ms = ((ms).toString().substr(0, 2));
    var formattedTime = hh + ":" + mm + ":" + ss + ":" + ms;

我不知道你为什么要使用日期。考虑创建一个将时间转换为毫秒的函数,以及另一个将毫秒转换回所需时间格式的函数。然后可以添加两个格式化时间,例如

// Convert time in format hh:mm:ss:zz
// where zz is milliseconds
function timeToMs(s) {
  var b = s.split(/\D/);
  return b[0]*3.6e6 + b[1]*6e4 + b[2]*1e3 + b[3]*10;
}

// Convert milliseconds to time in format hh:mm:ss:zz
// where zz is milliseconds
function msToTime(ms) {
  function z(n){return (n<10? '0' : '') + n;}
  return z(ms/3.6e6|0) + ':' +
         z((ms%3.6e6)/6e4|0) + ':' +
         z((ms%6e4)/1e3|0) + ':' +
         z((ms%1e3)/10|0);
}

// Add time in format hh:mm:ss:zz
// to time in format hh:mm:ss:zz
function addTime(t0, t1) {
  return msToTime(timeToMs(t0) + timeToMs(t1));
}

var x = '02:01:01:10'; // time
var y = '00:00:30:00'; // add 30 seconds

document.write(x + ' + ' + y + ' = ' + addTime(x, y));

x = '00:00:07:57';
y = '00:00:30:00'; // add 30 seconds

document.write('<br>' + x + ' + ' + y + ' = ' + addTime(x, y));

x = '08:53:19:57';
y = '06:23:58:09'; 

document.write('<br>' + x + ' + ' + y + ' = ' + addTime(x, y));