Javascript 如何将字符串转换为数字totalseconds?

Javascript 如何将字符串转换为数字totalseconds?,javascript,Javascript,///////////////////////////////////////////////////// { time : string = "00:01:30"; console.log("i want 90"); } //my c# code Timespan mytime; System.Convert.ToInt32(mytime.TotalSeconds); 你是怎么得到这些秒的 我要返回号码->90 不是日期()类型 字符串类型参数->总秒数 字符串时间转换

/////////////////////////////////////////////////////

{
    time : string = "00:01:30";
    console.log("i want 90");
}

//my c# code 

Timespan mytime;
System.Convert.ToInt32(mytime.TotalSeconds);
你是怎么得到这些秒的

我要返回号码->90

不是日期()类型

字符串类型参数->总秒数

字符串时间转换总秒数


如何将字符串转换为数字totalseconds?

给您。它确实验证了输入字符串,例如,
a:20:30
返回false,而
0:0:12
也会返回false。唯一正确的格式是
HH:MM:SS

{
    time : string = "00:01:30";
    console.log("i want 90");
}

//my c# code 

Timespan mytime;
System.Convert.ToInt32(mytime.TotalSeconds);

您可以拆分、反转、映射,然后求和,以找出答案:

const getSeconds=inputString=>inputString
.split(“:”)
.reverse()
.map((x,i)=>Math.pow(60,i)*parseInt(x))
.减少((上一个,当前)=>上一个+当前,0)
const result=getSeconds(“00:01:30”)

console.dir(result)
分别除以冒号和乘以3600和60?还是我遗漏了什么?
function stringToSec(string){
    var format = /^(?:2[0-3]|[01][0-9]):[0-5][0-9]:[0-5][0-9]$/;
    if(!format.test(string)) return false;
    var h = parseInt(string.substr(0,2));
    var m = parseInt(string.substr(3,2));
    var s = parseInt(string.substr(6,2));
    return h * 3600 + m * 60 + s;
}