SOURCE

/**
   * 格式化时间格式
   * 将以秒为单位的时间转换成 时:分:秒 的格式
   * 如果不足一小时则自动省略 时
   * @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 命令行工具 X clear

                    
>
console