gpt4 book ai didi

javascript - 格式化 Moment.js 持续时间

转载 作者:行者123 更新时间:2023-11-29 16:10:18 24 4
gpt4 key购买 nike

我正在使用 Moment.js在我的应用程序中跟踪操作的持续时间。目前,我有以下代码:

var startMoment = null;

var actionClock = null;
function startClock() {
actionClock = setInterval(function(){
if (startMoment === null) {
startMoment = moment();
$('#duration').text('00:00:00');
} else {
var now = moment();
var span = moment.duration(now - startMoment);
$('#duration').text(span.minutes() + ':' + span.seconds() + '.' + span.milliseconds());
}
}, 1000);
}

function stopClock() {
clearInterval(actionClock);

var now = moment();
var span = moment.duration(now - startMoment);
$('#duration').text(span.minutes() + ':' + span.seconds() + '.' + span.milliseconds());

startMoment = null;
actionClock = null;
}

我的问题是,持续时间的格式很尴尬。我想将持续时间显示为 mm:ss.lll。换句话说,始终显示两位数的分钟、两位数的秒数和三位数的毫秒数。目前,我看到打印的持续时间如 1:2.45。如何格式化使用 Moment.js 创建的持续时间?如果这不可能,我是否应该使用另一个库来跟踪持续时间并显示它?

谢谢!

最佳答案

执行此操作的一种方法可能是将持续时间转换回片刻(可能使用毫秒),然后使用片刻的格式。

moment.utc(span.asMilliseconds()).format('mm:ss.SSS');

var startMoment = null,
$durForm = $('#durationFormatted');

var actionClock = null;

function startClock() {
actionClock = setInterval(function() {
if (startMoment === null) {
startMoment = moment();
$('#duration').text('00:00:00');
$durForm.text('00:00.000');
} else {
var now = moment();
var span = moment.duration(now - startMoment);
$('#duration').text(span.minutes() + ':' + span.seconds() + '.' + span.milliseconds());
$durForm.text(moment(span.asMilliseconds()).format('mm:ss.SSS'));
}
}, 1000);
}

function stopClock() {
clearInterval(actionClock);

var now = moment();
var span = moment.duration(now - startMoment);
$('#duration').text(span.minutes() + ':' + span.seconds() + '.' + span.milliseconds());
$durForm.text(moment(span.asMilliseconds()).format('mm:ss.SSS'));

startMoment = null;
actionClock = null;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.min.js"></script>
<div>Duration (original): <span id='duration'></span>
</div>
<div>Formatted moment: <span id='durationFormatted'></span>
</div>
<button onClick='startClock()'>Start Clock</button>
<button onClick='stopClock()'>Stop Clock</button>

关于javascript - 格式化 Moment.js 持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30395614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com