Конвертировать время с помощью 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');