介绍

秒:5250 分:87.5 时:1.4583333333333335 转成 01:27:30(01-27-30)
只需要进行简单的计算

代码

function NumberToHMSTime(Time, Type = "Second", Length = 2, Cut = ":") {
    if (typeof (Time) != "number") {//判断是否是数字
        Time = 0;//不是归零
    }
    var Number_Pow = 0;//初始化次方变量
    if (Type == "Second") {//判断Tpye类型是否是秒
        Number_Pow = 2;//是秒次方为2
    } else if (Type == "Minute") {//判断Tpye类型是否是分钟
        Number_Pow = 1;//是分钟次方为1
    } else if (Type == "Hour") {//判断Tpye类型是否是小时
        Number_Pow = 0;//是小时次方为0
    }
    var Hour_Pow = Math.pow(60, Number_Pow);//计算小时次方
    var Minute_Pow = Math.pow(60, Number_Pow - 1);//计算分钟次方
    var Second_Pow = Math.pow(60, Number_Pow - 2);//计算秒
    var Hour = parseInt(Time / Hour_Pow); //获取总小时
    var Result = new Array;//初始化数组
    var Temp_Reduce = Time - (Hour * Hour_Pow);//减去小时
    var Temp_Minute = parseInt(Temp_Reduce / Minute_Pow);//获取分钟
    Temp_Reduce = Temp_Reduce - (Temp_Minute * Minute_Pow);//减去分钟
    var Temp_Second = parseInt(Temp_Reduce / Second_Pow);//获取秒
    var Minute_Value2 = String(Temp_Minute + (Hour * 60));//将小时变成分钟后相加
    var Hour_Value = String(Hour);//获取小时文本
    var Minute_Value = String(Temp_Minute);//获取分钟文本
    var Second_Value = String(Temp_Second);//获取秒
    //补充长度--开始
    for (let i = 0; i < Length; i++) {
        if (Hour_Value.length < Length) {//判断小时是否达到指定长度
            Hour_Value = "0" + Hour_Value;//用0补充小时的长度
        }
        if (Minute_Value.length < Length) {//判断分钟是否达到指定长度
            Minute_Value = "0" + Minute_Value;//用0补充分钟的长度
        }
        if (Second_Value.length < Length) {//判断秒是否达到指定长度
            Second_Value = "0" + Second_Value;//用0补充秒的长度
        }
    }
    //补充长度--结束
    Result["Hour"] = Hour_Value + Cut + Minute_Value + Cut + Second_Value;//记录以小时为最高单位的时间
    Result["Minute"] = Minute_Value2 + Cut + Second_Value;//记录以分钟为最高单位的时间
    return Result;//输出结果
}

返回结果是数组

 

调用函数

参数 字段
Time 必填,时间(数字)
Type 可空,时间类型,默认为秒
Length 可空,时间指定长度,默认为2
Cut 可空,分隔符

返回结果

字段 字段
Hour 以小时为最高单位的时间,文本(String),不存在返回"00:00:00"
Minute 以分钟为最高单位的时间 ,文本(String),不存在返回"00:00"

 

示例

function NumberToHMSTime(Time, Type = "Second", Length = 2, Cut = ":") {
    if (typeof (Time) != "number") {
        Time = 0;
    }
    if (Type == "Second") {
        Number_Pow = 2;
    } else if (Type == "Minute") {
        Number_Pow = 1;
    } else if (Type == "Hour") {
        Number_Pow = 0;
    }
    var Hour_Pow = Math.pow(60, Number_Pow);
    var Minute_Pow = Math.pow(60, Number_Pow - 1);
    var Second_Pow = Math.pow(60, Number_Pow - 2);
    var Hour = parseInt(Time / Hour_Pow);
    var Result = new Array;
    var Temp_Reduce = Time - (Hour * Hour_Pow);
    var Temp_Minute = parseInt(Temp_Reduce / Minute_Pow);
    Temp_Reduce = Temp_Reduce - (Temp_Minute * Minute_Pow);
    var Temp_Second = parseInt(Temp_Reduce / Second_Pow);
    var Minute_Value2 = String(Temp_Minute + (Hour * 60));
    var Hour_Value = String(Hour);
    var Minute_Value = String(Temp_Minute);
    var Second_Value = String(Temp_Second);

    for (let i = 0; i < Length; i++) {
        if (Hour_Value.length < Length) {
            Hour_Value = "0" + Hour_Value;
        }
        if (Minute_Value.length < Length) {
            Minute_Value = "0" + Minute_Value;
        }
        if (Second_Value.length < Length) {
            Second_Value = "0" + Second_Value;
        }
    }
    Result["Hour"] = Hour_Value + Cut + Minute_Value + Cut + Second_Value;
    Result["Minute"] = Minute_Value2 + Cut + Second_Value;
    return Result;
}
console.log(NumberToHMSTime(5250))
console.log(NumberToHMSTime(87.5, "Minute"))
console.log(NumberToHMSTime(1.4583333333333335, "Hour"))

打开浏览器控制台可以看到(按F12或者右键菜单-检查)

结果

希望我写的代码能帮助到大家,别忘记留言哦~