Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript时间转换_Javascript_Timer - Fatal编程技术网

JavaScript时间转换

JavaScript时间转换,javascript,timer,Javascript,Timer,我对JavaScript非常陌生。我猜答案很简单。 我需要将格式为hh:mm:ss的时间转换为秒。您可以这样做: var s = "1:01:01"; var a = s.split(":"); var sec = parseInt(a[0], 10)*60*60; sec += parseInt(a[1], 10)*60; sec += parseInt(a[2], 10); alert(sec); 试试这个 <SCRIPT LANGUAGE="JavaScript1.1"&g

我对JavaScript非常陌生。我猜答案很简单。
我需要将格式为hh:mm:ss的时间转换为秒。

您可以这样做:

var s = "1:01:01";
var a = s.split(":");

var sec = parseInt(a[0], 10)*60*60;
sec += parseInt(a[1], 10)*60;
sec += parseInt(a[2], 10);

alert(sec);
试试这个

  <SCRIPT LANGUAGE="JavaScript1.1"><!--
function split(string,text) {
    splitArray = string.split(text);
    splitIndex = splitArray.length;
}
//--></SCRIPT>


    <SCRIPT LANGUAGE="JavaScript"><!--
    var splitIndex = 0;
    var splitArray = new Array();

    function calculateTime() {
        splitIndex = 0;
        split(document.myForm.myTime.value,':');

        for (var i=splitIndex-1, j=1, answer=0; i>=0; i=i-1, j=j*60)
            answer += splitArray[i]*j - 0;

        document.myForm.mySeconds.value = answer;
    }
    //--></SCRIPT>

    <FORM NAME="myForm">
    <P>HH:MM:SS = <INPUT NAME="myTime" TYPE="TEXT" MAXLENGTH="8" LENGTH="10">
    <P>Seconds = <INPUT NAME="mySeconds" TYPE="TEXT">
    <P><INPUT TYPE="BUTTON" VALUE="Calculate" onClick="calculateTime()">
    </FORM>

HH:MM:SS=

秒=


Big-gotcha:parseInt在传递一个包含前导零的字符串时可能会以意外的方式运行:
parseInt(“09”)->0
parseInt(“010”)->8
。这是因为带前导零的数字被视为八进制数字,所以对于情况1:八进制编号系统中没有9,对于情况2:八进制10对应于十进制8。当使用parseInt时,必须为十进制数指定基数10:
parseInt(“09”,10)->9
parseInt(“010”,10)->10
@Salman Good catch-我总是忘记这一点,直到得到完全出乎意料的结果。我对答案进行了编辑,将其包括在内。您是否使用任何库或纯JavaScript?如果您使用任何框架/库,则有可能存在转换日期/时间的功能。您也可以访问www.datejs.com/