在JavaScript,jQuery,moment.js或任何库中,

您如何更改类似116265的数值(11小时62分65秒)

转换为正确的时间值12:03:05

编辑/更新:

如果小时数大于2位数,它也必须工作。 (就我而言,小时数是唯一可以大于2位数的部分。)

最佳答案

replace()方法与函数一起使用



console.log(
  '116265'.replace(/^(\d+)(\d{2})(\d{2})$/, function(m, m1, m2, m3) {
    m1 = Number(m1); // convert captured group value to number
    m2 = Number(m2);
    m2 = Number(m2);
    m2 += parseInt(m3 / 60, 10); // get minutes from second and add it to minute
    m3 = m3 % 60; // get soconds
    m1 += parseInt(m2 / 60, 10); // get minutes from minute and add it to hour
    m2 = m2 % 60; // get minutes
    // add 0 to minute and second if single digit , slice(-2) will select last 2 digit
    return m1 + ':' + ('0' + m2).slice(-2) + ':' + ('0' + m3).slice(-2); // return updated string
  })
)

关于javascript - datejavascript将数值转换为时间值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37435987/

10-13 01:46