Destio

AngularJS фильтр для перевода секунд во время

Встроенные фильтры для этого не подходят, и dateFilter он немного для другого.
Нехитрый фильтр, получает секунды в Number и выдает время в формате 0 h 0 min 0 s. Наверное более фундаментальным и гибким решением была бы конвертация секунд в полноценный объект Date и вывод его с помощью dateFilter, но это потом.

.filter("secondsToTime", function() {
    return function(input) {
        var hours = 0, minutes = 0, seconds = 0;
        seconds = input;
        while (seconds > 59) {
            minutes += 1;
            seconds -= 60;
        }
        while (minutes > 59) {
            hours += 1;
            minutes -= 60;
        }
        var output = seconds + " s";
        if (minutes) output = minutes + " min " + output;
        if (hours) output = hours + " h " + output;
        return output;
    };
});

Ярлыки: , ,


Ближайшие сообщения:

Похожие сообщения:

Комментарии к этой записи отключены.