Konwersja milisekund na minuty i sekundy za pomocą Javascript

Interfejs API Soundcloud podaje czas trwania jego utworów w milisekundach. JSON wygląda tak:

"duration": 298999

Wypróbowałem wiele funkcji, które znalazłem tutaj bezskutecznie. Po prostu szukam czegoś, aby przekonwertować ten numer na coś podobnego:

4:59

Oto jeden, który się zbliżył, ale nie działa. To nie zatrzymuje sekund na 60. To idzie aż do 99, co nie ma sensu. Spróbuj na przykład wpisać „187810” jako wartość ms.

var ms = 298999,
min = Math.floor((ms/1000/60) << 0),
sec = Math.floor((ms/1000) % 60);

console.log(min + ':' + sec);

Dzięki za pomoc!

Jeśli mógłbyś również wesprzeć go godzinami, byłbym wdzięczny.

questionAnswers(3)

yourAnswerToTheQuestion