2011-01-22 60 views
0

我對JavaScript很陌生。我的猜測是有一個非常簡單的答案。 我需要將格式爲hh:mm:ss的時間轉換爲秒。JavaScript時間轉換

+0

你使用任何庫,或純JavaScript?有可能如果你使用任何框架/庫,那麼就有這樣的功能來轉換日期/時間。你也可以看一下www.datejs.com/ – Maxym 2011-01-22 14:14:24

回答

2

你可以做這樣的事情:

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); 
+0

Big gotcha:parseInt在傳遞一個包含前導零的字符串時可能會出乎意料的行爲:`parseInt(「09」) - > 0`和`parseInt(「 010「) - > 8`。這是因爲具有前導零的數字被視爲八進制數,所以對於情況1:八進制編號系統中沒有9和情況2:八進制10對應於十進制8.當使用parseInt時,必須爲十進制數指定基數10 :`parseInt(「09」,10) - > 9`和`parseInt(「010」,10) - > 10`。 – 2011-01-22 08:15:05

0

試試這個

<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>