2016-09-02 1 views
0

Wie könnte ich die Anzahl der Sekunden (Zahl) in das Zeitformat konvertieren hh: mm: ss string und reverse thing hh: mm: ss Zeitformatzeichenfolge zurück zur Zahl, die der Zahl entspricht Sekunden?Zeitformat in String und umgekehrt umwandeln

I.E:

2500 -> 00:41:40 

Und

00:41:40 -> 2500 

JavaScript verwenden?

Antwort

0

Ich glaube nicht, dass es eine Funktion direkt für diesen Zweck gibt, aber Sie können leicht eine für sich selbst machen. Time to Sekunden ist der leichtere Teil:

function timetosec(time) 
{ 
    var h = time.split(':')[0]; 
    var m = time.split(':')[1]; 
    var s = time.split(':')[2]; 
    return h*60*60 + m*60 + s; 
} 

Und benutzen Sie einfach den Modulo-Operator, um es zu ändern zurück:

function sectotime(sec) 
{ 
    var s = sec % 60; 
    sec = (sec-s)/60; 
    var m = sec % 60; 
    var h = (sec-m)/60; 
    return '' + h + ':' + m + ':' + s; 
} 

Eine andere Idee: Verwenden Sie das Date-Objekt. Entsprechend der JS-Referenz können Sie ein Zeichenfolgenobjekt wie dieses einpacken:

var d1 = new Date('2016-01-01 '.time); //e.g. '2016-01-01 01:02:03' 
    var d2 = new Date('2016-01-01 00:00'); 
    return d2 - d1; // time in MILLIseconds 

    var d1 = new Date(sec*1000); //milliseconds since the UNIX epoch 
    return d1.getHours() + ':' + d1.getMinutes() + ':' + d1.getSeconds();