在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/