js根据字符串时分秒获取总秒数和分割时分秒

起初是因为一些网站的视频没找着时间戳,但是显示了视频的时长时分秒,为了做过滤处理,就想到了获取到视频上显示的的时分秒,进行截取,然后根据秒数判断该视频的时长进行筛选

/**
 * 分割时分秒字符串
 * @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"));//获取时长为秒的秒数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值