Tôi yêu câu trả lời của Powtac, nhưng tôi muốn sử dụng nó trong angular.js, vì vậy tôi đã tạo một bộ lọc bằng mã của anh ấy.
.filter('HHMMSS', ['$filter', function ($filter) {
return function (input, decimals) {
var sec_num = parseInt(input, 10),
decimal = parseFloat(input) - sec_num,
hours = Math.floor(sec_num / 3600),
minutes = Math.floor((sec_num - (hours * 3600)) / 60),
seconds = sec_num - (hours * 3600) - (minutes * 60);
if (hours < 10) {hours = "0"+hours;}
if (minutes < 10) {minutes = "0"+minutes;}
if (seconds < 10) {seconds = "0"+seconds;}
var time = hours+':'+minutes+':'+seconds;
if (decimals > 0) {
time += '.' + $filter('number')(decimal, decimals).substr(2);
}
return time;
};
}])
Nó giống hệt nhau về mặt chức năng, ngoại trừ việc tôi đã thêm vào trường số thập phân tùy chọn để hiển thị giây. Sử dụng nó như bất kỳ bộ lọc nào khác:
{{ elapsedTime | HHMMSS }}
hiển thị: 01:23:45
{{ elapsedTime | HHMMSS : 3 }}
hiển thị: 01:23:45.678