/**
* 格式化时间格式
* 将以秒为单位的时间转换成 时:分:秒 的格式
* 如果不足一小时则自动省略 时
* @param {*} second
*/
function formatTime(second) {
let time = {}
// 每分钟有60秒,出现分钟整数时,秒钟只显示余数,例如 55 秒,秒的部分显示为 55,而 68 秒则只显示 08
// 秒取 60 的余数
time.second = Math.round(second % 60)
// 分钟等于 秒 / 60 再取 60 的余数
time.minute = Math.floor(second / 60) % 60
// 小时等于 秒 / 3600,没有天,所以不在取余数
time.hour = Math.floor(second / 3600)
// 递归格式化
for (let index in time) {
// 去掉小数然后转换为字符串
let value = String(time[index].toFixed(0))
// 如果是个位数,字符串前面要加一个 "0"
if (value.length == 1) {
time[index] = "0" + value
}
}
let str = ""
// 如果小于 1 小时就省略 时 的显示
if (time.hour !== "00") {
str += time.hour + ":"
}
str += time.minute + ":" + time.second
return str
}
// 输出测试
console.log(formatTime(152.450625))
console