2016-08-16 8 views
0

Ich bekomme Stunden mehr als zwei Buchstaben, wenn ich versuche, Sekunden in hh: mm: ss Format zu konvertieren.Konvertieren von Sekunden in HH: mm: ss?

var seconds = 4287050531; 
var getTime = formatTime(seconds); 
console.log("Time Is :"+getTime);// 1190847:22:11 

function formatTime(seconds) { 
    return [pad(Math.floor(seconds/3600)), 
      pad(Math.floor(seconds/60)%60), 
      pad(seconds%60), 
      ].join(":"); 
} 

function pad(num) { 
    if(num < 10) { 
    return "0" + num; 
    } else { 
    return "" + num; 
    } 
} 
+2

welchem ​​Ergebnis sind Sie zu erreichen versuchen? Stunden über 24 abschneiden? –

+0

ich benutzte 24 auch, aber zeigt falsches Ergebnis, Funktion formatTime (Sekunden) { Rückkehr [Auflage (Math.floor (Sekunden/3600)% 24), Auflage (Math.floor (seconds/60)% 60), Auflage (Sekunden% 60), ] .join (":"); } –

+0

Was ist das erwartete Ergebnis –

Antwort

-1

Versuchen kann datejs

Mit diesem kann mit folgenden Funktion

(new Date).clearTime() 
      .addSeconds(4287050531) 
      .toString('H:mm:ss'); 
+0

Ich bekomme Uncaught TypeError: (Zwischenwert) .clearTime ist keine Funktion –

+0

zuerst die date.js Datei hinzufügen und dann versuchen –

1

Können Sie bitte versuchen Sie es leicht umwandeln zu verwenden:

function convert(seconds) { 
    seconds = Number(seconds); 
    var hours = Math.floor(seconds/3600); 
    var minutes = Math.floor(seconds % 3600/60); 
    var seconds = Math.floor(seconds % 3600 % 60); 
    return ((hours > 0 ? hours + ":" + (minutes < 10 ? "0" : "") : "") + minutes + ":" + (seconds < 10 ? "0" : "") +`enter code here` seconds); 
} 
0

Warum nehmen die ganze Mühe?

Try this:

(function() { 
 
    
 
    function checkTime(i) { 
 
     return (i < 10) ? "0" + i : i; 
 
    } 
 

 
    function startTime() { 
 
     var today = new Date(), 
 
      h = checkTime(today.getHours()), 
 
      m = checkTime(today.getMinutes()), 
 
      s = checkTime(today.getSeconds()); 
 
      return h + ":" + m + ":" + s; 
 
     
 
     
 
    } 
 
    setInterval(function() { 
 
      document.getElementById('yourTime').innerHTML = startTime(); 
 
     }, 1000); 
 
    
 
})();
<div id="yourTime">

+0

Das funktioniert nicht, wenn die Sekunden mehr als 24 Stunden ergeben. – Hans

Verwandte Themen