【问题标题】:Time filter doesn't work for time above 60 but below 70 seconds时间过滤器不适用于超过 60 秒但低于 70 秒的时间
【发布时间】: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;
  }
}
  }

【问题讨论】:

标签: javascript html angularjs ionic-framework filter


【解决方案1】:

假设您的代码在几分钟内获得正确的值并且它需要做的就是在字符串中添加一个 0,我建议从每个 else 块中删除您的 return 语句,然后处理逻辑以在这些值后返回字符串已经设置好了。

 return hrs + ':' + (min < 10 ? '0' + min.toString() : min) + sec;

【讨论】:

  • 这还不错,但我不希望它显示某些数字的小时数,所以我宁愿单独处理而不是得到 0:56:07,我喜欢 56:07。
  • 您也可以对三元运算符使用相同的逻辑小时数,如果您将其用于 0:56:07,则会返回 56:7。 (因为我没有填充秒数,但与从分钟开始的逻辑相同) return ( hrs > 0 ? hrs + ':' : '') + (min
【解决方案2】:

我想通了,只是更改了中间部分以查看其余部分并添加了一个零...无论如何感谢您的帮助

     else if (number/60>=1&&number%60>10){
        var min=Math.floor(number/60);
        var sec=Math.floor(number-(min*60));
        return min +':'+ sec;
      }
      else if (number/60>=1&&number%60<10){
        var min=Math.floor(number/60);
        var sec=Math.floor(number-(min*60));
        return min +':0'+ sec;
      }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-29
    • 2019-03-25
    • 2020-03-22
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    相关资源
    最近更新 更多