2011-01-22 3 views
0

Je suis très nouveau sur JavaScript. Je suppose qu'il y a une réponse très facile. J'ai besoin de convertir l'heure au format hh:mm:ss en secondes.JavaScript time convert

+0

Utilisez-vous une bibliothèque, ou JavaScript pur? il y a une possibilité que si vous utilisez un cadre/bibliothèque alors il y a une telle fonctionnalité pour convertir la date/heure. Vous pouvez également consulter www.datejs.com/ – Maxym

Répondre

2

Vous pouvez faire quelque chose comme ceci:

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 peut se comporter de manière inattendue quand il est passé une chaîne contenant le zéro: 'parseInt (" 09 ") -> 0' et' parseInt (" 010 ") -> 8'. En effet, les nombres avec des zéros en tête sont traités comme des nombres octaux, donc pour le cas 1: il n'y a pas de 9 dans le système de numérotation octal et pour le cas 2: octal 10 correspond au décimal 8. Lorsque vous utilisez parseInt, vous devez spécifier : 'parseInt (" 09 ", 10) -> 9' et' parseInt ("010", 10) -> 10'. –

+0

@Salman Bonne prise - J'oublie toujours ça jusqu'à ce que j'obtienne des résultats complètement inattendus. J'ai modifié la réponse pour inclure cela. –

+0

Merci cela a bien fonctionné. – giodamelio

0

essayer cette

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