2012-11-28 13 views
5

W JavaScript mam zmienną Czas w milisekundach.Jak przekonwertować milisekundy do czytelnej daty Minutes: Seconds Format?

Chciałbym wiedzieć, czy istnieje jakaś wbudowana funkcja do przekonwertowania skutecznie tej wartości na format Minutes:Seconds.

Jeśli nie, proszę wskazać mi funkcję użyteczności.

przykład:

Z

462000 milliseconds 

DO

7:42 
+4

Nie znaczy 7:42? –

+0

Wiem, że to nie jest _skuteczne_, ale mam tylko "nową datę (462000) .toString(). Dopasuj (/ \ d {2}: \ d {2}: \ d {2} /) [0] '- Jeśli wiesz, że zawsze będzie mniej niż 24 godziny. –

+0

Myślałem o tych samych rozwiązaniach, ale nie jestem pewien co to jest efektywność ;-) – GibboK

Odpowiedz

5

Dzięki chłopaki za wsparcie, na th końcu wpadłem na to rozwiązanie. Mam nadzieję, że pomoże to innym.

Zastosowanie:

var videoDuration = convertMillisecondsToDigitalClock(18050200).clock; // CONVERT DATE TO DIGITAL FORMAT 

// CONVERT MILLISECONDS TO DIGITAL CLOCK FORMAT 
function convertMillisecondsToDigitalClock(ms) { 
    hours = Math.floor(ms/3600000), // 1 Hour = 36000 Milliseconds 
    minutes = Math.floor((ms % 3600000)/60000), // 1 Minutes = 60000 Milliseconds 
    seconds = Math.floor(((ms % 360000) % 60000)/1000) // 1 Second = 1000 Milliseconds 
     return { 
     hours : hours, 
     minutes : minutes, 
     seconds : seconds, 
     clock : hours + ":" + minutes + ":" + seconds 
    }; 
} 
9

tylko utworzyć Date przedmiotu i przechodzą milisekundy jako parametr.

var date = new Date(milliseconds); 
var h = date.getHours(); 
var m = date.getMinutes(); 
var s = date.getSeconds(); 
alert(((h * 60) + m) + ":" + s); 
+0

Twój alert jest nieprawidłowy – musefan

+0

Wygląda na to, że byłem trochę szybki na tym, naprawiłem to :) –

+0

To robi 'Godziny: Minuty: Sekundy '* nie *' Minuty: Sekundy'. – kmkaplan

0
function msToMS(ms) { 
    var M = Math.floor(ms/60000); 
    ms -= M * 60000; 
    var S = ms/1000; 
    return M + ":" + S; 
} 
2

Jest to łatwe do wykonania konwersji oneself:

var t = 462000 
parseInt(t/1000/60) + ":" + (t/1000 % 60) 
2

Jeśli już przy użyciu Moment.js w projekcie, można użyć funkcji moment.duration

Można go używać tak

var mm = moment.duration(37250000); 
console.log(mm.hours() + ':' + mm.minutes() + ':' + mm.seconds()); 

wyjściowa: 10:20:50

Zobacz jsbin próbka

+0

Da to dane wyjściowe jako 1: 2: 5, jeśli podano odpowiednie dane wejściowe. nie jako 1:02:05. –

Powiązane problemy