Конвертировать время с помощью jQuery

От http://code.google.com/apis/ajax/playground/?exp=youtube проигрывателя YouTube вы получаете значение времени в секундах, например "243.577". Пусть это будет простая строка.

Как мне преобразовать его в значение типа: '04:35'? Как 4 минуты и 35 секунд (надеюсь, я сделал правильные вычисления) для этого примера.

Если значение составляет всего 5 секунд, то оно должно дать что-то вроде "00: 05". Если отрицательный, то "00: 00".

3 ответа

Решение
var raw = "-54";

var time = parseInt(raw,10);
time = time < 0 ? 0 : time;

var minutes = Math.floor(time / 60);
var seconds = time % 60;

minutes = minutes < 10 ? "0"+minutes : minutes;
seconds = seconds < 10 ? "0"+seconds : seconds;

alert(minutes+":"+seconds);

Рабочая демонстрация: http://jsfiddle.net/8zPRF/

ОБНОВИТЬ

Некоторые добавленные строки для отрицательных чисел и формат строки: http://jsfiddle.net/8zPRF/3/

Вы можете сделать что-то вроде

var d = new Date(milliseconds);

Вам не нужен jQuery для этого.

Я считаю библиотеку Date.js чрезвычайно полезной при работе с датами. Он расширяет встроенный JavaScript-объект Date.

Например

var timeString = new Date(seconds * 1000).toString('mm:ss');
Другие вопросы по тегам