js 将秒转化为24小时制

希望能有所帮助,写得不好,仅供参考

const timeFormater = (val) => {
    let second = val % 60 > 0 ? ((val % 60).toString()).length > 1 ? (val % 60).toString() : '0' + (val % 60).toString() : '00';
    let minute = val / 60 > 0 ? val / 60 > 60 ? ((parseInt(val / 60) % 60).toString()).length > 1 ? (parseInt(val / 60) % 60).toString() + ':' :
        '0' + (parseInt(val / 60) % 60).toString() + ':' : ((parseInt(val / 60)).toString()).length > 1 ? (parseInt(val / 60)).toString() + ':' :
        '0' + (parseInt(val / 60)).toString() + ':' : '00' + ':';
    let hours = val / 3600 > 0 ? val / 3600 > 24 ? ((parseInt(val / 3600) % 24).toString()).length > 1 ? (parseInt(val / 3600) % 24).toString() + ':' :
        '0' + (parseInt(val / 3600) % 24).toString() + ':' : (parseInt(val / 3600).toString().length > 1) ? parseInt(val / 3600).toString() + ':' :
        '0' + parseInt(val / 3600).toString() + ':' : '00' + ':';
    let days = val / 86400 > 0 ? parseInt(val / 86400) : '00';
    let str = (val > 86400 ? days + "天" : '') + (val > 3600 ? hours : '') + minute + second
    return str
}

方法简单,只是拼接字符串有点烦人。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供帮助。您可以将多个时间段表示为开始时间和结束时间的数组,然后使用JavaScript计算剩余时间。以下是一个示例代码: ```javascript // 将时间段表示为开始时间和结束时间的数组 const timeSlots = [ { start: "2021-08-01 08:00:00", end: "2021-08-01 10:30:00" }, { start: "2021-08-01 12:00:00", end: "2021-08-01 14:30:00" }, { start: "2021-08-01 15:00:00", end: "2021-08-01 16:00:00" } ]; // 将字符串格式的日期转换为日期对象 function parseDate(str) { const [date, time] = str.split(" "); const [year, month, day] = date.split("-"); const [hour, minute, second] = time.split(":"); return new Date(year, month - 1, day, hour, minute, second); } // 计算剩余时间 function calculateRemainingTime() { let now = new Date(); let remainingTime = 0; for (let slot of timeSlots) { let start = parseDate(slot.start); let end = parseDate(slot.end); // 如果当前时间在时间段内,则跳过 if (now >= start && now <= end) { now = end; continue; } // 计算剩余时间 if (now < start) { remainingTime += start - now; } remainingTime += end - start; now = end; } return remainingTime; } // 将毫数转换为人类可读的时间格式 function formatTime(milliseconds) { const totalSeconds = Math.floor(milliseconds / 1000); const hours = Math.floor(totalSeconds / 3600); const minutes = Math.floor((totalSeconds % 3600) / 60); const seconds = totalSeconds % 60; return `${hours}小时${minutes}分钟${seconds}`; } // 输出剩余时间 console.log(formatTime(calculateRemainingTime())); ``` 您可以根据自己的需求修改时间段的数组,然后使用`calculateRemainingTime()`函数计算剩余时间,并使用`formatTime()`函数将毫数转换为人类可读的时间格式。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值