介绍
秒: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或者右键菜单-检查)
希望我写的代码能帮助到大家,别忘记留言哦~