仅在javascript中将HH:MM:SS字符串转换为秒但在javascript中。我已经看到很多将秒转换成不同格式的例子,但不是HH:MM:SS转换为秒。任何帮助,将不胜感激。
3 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
试试这个:
var hms = '02:04:33'; // your input string
var a = hms.split(':'); // split it at the colons
// minutes are worth 60 seconds. Hours are worth 60 minutes.
var seconds = (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+a[2]);
console.log(seconds);
catspeake
TA贡献1111条经验 获得超0个赞
这可以通过以下方式非常灵活地完成:
'01:02:03'.split(':').reduce((acc,time) => (60 * acc) + +time);
这是因为小时,分钟和秒内的每个时间单位是比较小单位大60的倍数。时间被分成小时分和秒组件,然后通过使用较高单位的累计值乘以60来减少到秒,因为它通过每个单元。
该 +time
用于将时间转换为数值。
它基本上最终会做: (60 * ((60 * HHHH) + MM)) + SS
如果只传递秒,那么结果将是一个字符串,所以为了解决这个问题,我们可以将整个结果转换为int:
+('03'.split(':').reduce((acc,time) => (60 * acc) + +time));
添加回答
举报
0/150
提交
取消