gpt4 book ai didi

javascript - 如何将我的 moment js 持续时间值限制为仅 2 位数?

转载 作者:行者123 更新时间:2023-11-30 21:02:49 27 4
gpt4 key购买 nike

我正在使用 moment.js使用根据距离/速度计算的日期时间。我也在使用 moment duration format plugin .当我将值传递给 moment.duration 然后对其进行格式化时,一些值超过 2 位,即

39:3452:98762

我希望它的格式正确为 HH:mm:ss。这是我的代码。

var point1Time = 19.188019795;
var d1 = moment.duration(point1Time, 'hours');

var d1Hours = d1.format('HH');
var d1Mins = d1.format('mm', {forceLength: true });
var d1Secs = d1.format('ss', {forceLength: true });

如您所见,point1Time(为了本示例,我将其输入为数字)是英里/速度,然后我将此值传递给 moment小时 为单位的duration。之后,我尝试使用 format 分隔 HH:mm:ss。返回的值类似于 d1Hours: 19d1Mins: 1151d1Secs: 69076

我认为添加 forceLength 将有助于将数字减少到仅两位,但它不起作用,因为我看不到在哪里定义该限制。

有人可以帮忙吗?

最佳答案

您可以使用 'HH:mm:ss' 作为 format() 中的模板获得所需输出的方法。

d1.format('mm')d1.format('ss') 给出 asSeconds 的输出和 asMinutes虽然我认为您需要 minutes() 的输出和 seconds() .

这里是一个活生生的例子:

var point1Time = 19.188019795;
var d1 = moment.duration(point1Time, 'hours');

console.log(d1.format('HH:mm:ss'));

console.log(d1.minutes(), d1.asMinutes());
console.log(d1.seconds(), d1.asSeconds());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-duration-format/1.3.0/moment-duration-format.min.js"></script>

关于javascript - 如何将我的 moment js 持续时间值限制为仅 2 位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46949328/

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