【发布时间】:2017-10-04 10:59:38
【问题描述】:
所以我有一个自定义过滤器可以在时钟显示 (1:25) 中显示秒 (85),但它在某些时间不起作用。特别是高于 60 秒但低于 70 秒时,它会显示如下:1:7(67 秒)或 1:0(60 秒)。我不知道在哪里添加逻辑来修复它。
提前感谢您的帮助:)
.
filter('timeconvert', function() {
// Create the return function
// set the required parameter name to **number**
return function(number) {
// Ensure that the passed in data is a number
if(isNaN(number)) {
// If the data is not a number
return number;
} else {
// If the data we are applying the filter to is a number, perform the actions to check it's ordinal suffix and apply it.
var hrs=0;
var min=0;
var sec=0;
if (number/3600>=1){
var hrs=Math.floor(number/3600);
var min=Math.floor((number-(hrs*3600))/60);
var sec=(number-(hrs*3600)-(min*60));
return hrs+':'+min +':'+ sec;
}
else if (number/60>=1){
var min=Math.floor(number/60);
var sec=Math.floor(number-(min*60));
return min +':'+ sec;
}
else if(number/60<1&&number/10>=1){
var min=0;
var sec=number;
return min +':'+ sec;
}
else if(number/10<1){
var min=0;
var sec=number;
return min +':'+ '0'+sec;
}
}
}
【问题讨论】:
-
所以零填充数字
-
你能添加你传递给过滤函数的输入值吗?
-
期望的输出是什么? 1:7 是 67 秒,因为它是 1 分 7 秒。
-
期望的输出是 1:07
标签: javascript html angularjs ionic-framework filter