如何将毫秒转换为可读日期分钟:秒格式?

时间:2012-11-28 09:26:09

标签: javascript

在JavaScript中,我有一个以毫秒为单位的变量Time。

我想知道是否有任何内置函数可以将有效此值转换为Minutes:Seconds格式。

如果没有,请指出我的实用功能。

示例:

462000 milliseconds

7:42

6 个答案:

答案 0 :(得分:11)

只需创建一个Date对象并将毫秒作为参数传递。

var date = new Date(milliseconds);
var h = date.getHours();
var m = date.getMinutes();
var s = date.getSeconds();
alert(((h * 60) + m) + ":" + s);

答案 1 :(得分:5)

感谢各位的支持,最后我提出了这个解决方案。我希望它可以帮助别人。

使用:

var videoDuration = convertMillisecondsToDigitalClock(18050200).clock; // CONVERT DATE TO DIGITAL FORMAT

// CONVERT MILLISECONDS TO DIGITAL CLOCK FORMAT
function convertMillisecondsToDigitalClock(ms) {
    hours = Math.floor(ms / 3600000), // 1 Hour = 36000 Milliseconds
    minutes = Math.floor((ms % 3600000) / 60000), // 1 Minutes = 60000 Milliseconds
    seconds = Math.floor(((ms % 360000) % 60000) / 1000) // 1 Second = 1000 Milliseconds
        return {
        hours : hours,
        minutes : minutes,
        seconds : seconds,
        clock : hours + ":" + minutes + ":" + seconds
    };
}

答案 2 :(得分:2)

自己进行转换很容易:

var t = 462000
parseInt(t / 1000 / 60) + ":" + (t / 1000 % 60)

答案 3 :(得分:2)

如果您已在项目中使用Moment.js,则可以使用moment.duration功能

您可以像这样使用

var mm = moment.duration(37250000);
console.log(mm.hours() + ':' + mm.minutes() + ':' + mm.seconds());

输出: 10:20:50

请参阅jsbin示例

答案 4 :(得分:0)

function msToMS(ms) {
    var M = Math.floor(ms / 60000);
    ms -= M * 60000;
    var S = ms / 1000;
    return M + ":" + S;
}

答案 5 :(得分:0)

您可能会喜欢 pretty-ms npm软件包:https://www.npmjs.com/package/pretty-ms
如果是您要搜索的内容。无头的精美格式(随着时间的增长,单位时间所需的时间),可个性化设置并涵盖不同的情况。涵盖范围小而高效。