起初是因为一些网站的视频没找着时间戳,但是显示了视频的时长时分秒,为了做过滤处理,就想到了获取到视频上显示的的时分秒,进行截取,然后根据秒数判断该视频的时长进行筛选
/*** 分割时分秒字符串* @param time* @returns {{s: number, h: number, m: number}|{s: number, m: number}}*/function splitTimeHMS(time) {const split = time.split(":");if (split.length === 2) {//说明时长是在60分钟以内const tempM = parseInt(split[0]);//分const tempS = parseInt(split[1]);//秒return {m: tempM,s: tempS};} else {//说明时长是在一小时以上的const tempH = parseInt(split[0]);//时const tempM = parseInt(split[0]);//分const tempS = parseInt(split[1]);//秒return {h: tempH,m: tempM,s: tempS};}}/*** 根据字符串的时分秒转成秒* @param {String} time 时分秒字符串* @returns {Number} 总秒*/function getTimeTotalSeconds(time) {const demoTime = splitTimeHMS(time);if (demoTime.h === undefined) {//表示时长没有时if (demoTime.m === 0) {//时长低于60秒return demoTime.s;}return demoTime.m * 60 + demoTime.s;//求出剩下的分和秒的总秒}if (demoTime.h === 0) {//说明时长仅仅只有60分钟以内if (demoTime.m === 0) {//时长低于60秒return demoTime.s;}return demoTime.m * 60 + demoTime.s;//求出剩下的分和秒的总秒}//一小时有60分钟,一分钟有60秒,所以,return demoTime.h * 60 * 60 + demoTime.s;}//使用例子console.log(getTimeTotalSeconds("5:10:00"));//获取时长为小时的秒数console.log(getTimeTotalSeconds("6:00"));//获取时长为分钟的秒数console.log(getTimeTotalSeconds("0:50"));//获取时长为秒的秒数