使用AngularJS将数字格式设置为00:00

时间:2014-08-05 12:06:27

标签: angularjs angular-filters

我创建了一个有效的Plunkr,它允许您逐步添加和减去分钟。然而,时间是一个简单的字符串'15',它通过一个过滤器输出'15min'。我想改变这一点,而不是'15分钟'是'00:15'我怎么能将hourMinFilter重做为timeFilter?

app.controller('MainCtrl', function($scope) {
  $scope.readyTime = 15;
});

app.filter('hourMinFilter', function () {
    return function (value, max) {
      if (value == max) return 'All';
      var h = parseInt(value / 60);
      var m = parseInt(value % 60);
      var hStr = (h > 0) ? h + 'hr'  : '';
      var mStr = (m > 0) ? m + 'min' : '';
      var glue = (hStr && mStr) ? ' ' : '';
      return hStr + glue + mStr;
    };
  });

1 个答案:

答案 0 :(得分:2)

我建议尝试使用现有代码。你基本上只需要对结果进行测试并插入缺失的零。

如果你不耐烦,这是一个建议的解决方案:

http://plnkr.co/edit/aDIDUV7r2YpqnuuShIi0?p=preview

更改了三行:

  var hStr = (h > 0) ? h + 'hr'  : '';
  var mStr = (m > 0) ? m + 'min' : '';
  var glue = (hStr && mStr) ? ' ' : ''

  var hStr = (h > 0) ? h >= 10 ? h  : '0' + h : '00';
  var mStr = (m > 0) ? m >= 10 ? m  : '0' + m : '00';
  var glue = (hStr && mStr) ? ':' : '';