gpt4 book ai didi

javascript - 整小时 hh :ii:ss to decimal

转载 作者:行者123 更新时间:2023-11-28 17:45:51 24 4
gpt4 key购买 nike

如何将完整时间转换为十进制?在下面的代码中,秒没有被转换。

function timeToDecimal(t) {
var arr = t.split(':');
var dec = parseInt((arr[1]/6)*10, 10);

return parseFloat(parseInt(arr[0], 10) + '.' + ( dec < 10 ? '0' : '' ) + dec);
}

console.log( timeToDecimal('00:01:44') ); // 0.01
console.log( timeToDecimal('00:03:36') ); // 0.05
console.log( timeToDecimal('00:30:47') ); // 0.5
console.log( timeToDecimal('10:10:20') ); // 10.16
console.log( timeToDecimal('01:30:58') ); // 1.5
console.log( timeToDecimal('3:22:10' ) ); // 3.36
console.log( timeToDecimal('22:45:48') ); // 22.75
console.log( timeToDecimal('02:00:05') ); // 2

最佳答案

您的代码从未引用arr[2],因此显然它不会对秒执行任何操作。

至少可以说,您构造一个看起来像十进制数字的字符串,然后使用 parseFloat 解析它的方法很奇怪。您所需要的只是

function timeToDecimal(t) {
const [hh, mm, ss] = t.split(':');

return +hh + mm / 60 + ss / 3600;
}

但是你确实应该为此使用一个库。稍等片刻,就会是

moment.duration('1:30:22').asHours()

关于javascript - 整小时 hh :ii:ss to decimal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46746313/

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