5

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

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

如果不能,请您指出一个实用功能。

例子:

462000 milliseconds

7:42
4

6 回答 6

13

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

var date = new Date(milliseconds);
var h = date.getHours();
var m = date.getMinutes();
var s = date.getSeconds();
alert(((h * 60) + m) + ":" + s);
于 2012-11-28T09:30:33.927 回答
6

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

采用:

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
    };
}
于 2012-11-28T10:51:34.330 回答
3

如果您已经在项目中使用Moment.js,则可以使用moment.duration函数

你可以像这样使用它

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

输出: 10:20: 50

请参阅jsbin示例

于 2015-08-11T06:53:34.577 回答
2

自己进行转换很容易:

var t = 462000
parseInt(t / 1000 / 60) + ":" + (t / 1000 % 60)
于 2012-11-28T09:43:31.037 回答
1

您可能喜欢pretty-ms npm 包:https
://www.npmjs.com/package/pretty-ms 如果您正在搜索。无头的漂亮格式(时间以毫秒增长所需的单位为单位),可个性化并涵盖不同的情况。它涵盖的内容小而高效。

于 2018-10-30T00:22:23.750 回答
0
function msToMS(ms) {
    var M = Math.floor(ms / 60000);
    ms -= M * 60000;
    var S = ms / 1000;
    return M + ":" + S;
}
于 2012-11-28T09:35:12.137 回答