Конвертировать время с помощью jQuery - PullRequest
4 голосов
/ 28 июня 2011

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

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

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

Ответы [ 3 ]

11 голосов
/ 28 июня 2011
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/

UPDATE

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

1 голос
/ 28 июня 2011

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

var d = new Date(milliseconds);

Для этого вам не нужен jQuery.

0 голосов
/ 28 июня 2011

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

Например

var timeString = new Date(seconds * 1000).toString('mm:ss');
...