我使用以下函数来获取时间字符串的秒数。
function TimeStringToSeconds(TimeString){
var TotalTime = 0;
var SplitString = TimeString.toString().split(':');
TotalTime += parseInt(SplitString[0])*3600;
TotalTime += parseInt(SplitString[1])*60;
TotalTime += parseInt(SplitString[2]);
return TotalTime;
}
它有效,但如果输入包含8或9,则不行,例如:
TimeStringToSeconds('00:01:00'); // Outputs 60
TimeStringToSeconds('00:02:00'); // Outputs 120
TimeStringToSeconds('00:08:00'); // Outputs 0 ???????
我做错了什么?
答案 0 :(得分:4)
答案 1 :(得分:2)
问题是前导零表示八进制表示法。使用以下代码段:
parseInt(SplitString[0], 10)
这会强制JavaScript将数字视为十进制数。