Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用AngularJS将数字格式化为00:00_Angularjs_Angular Filters - Fatal编程技术网

使用AngularJS将数字格式化为00:00

使用AngularJS将数字格式化为00:00,angularjs,angular-filters,Angularjs,Angular Filters,我已经创建了一个工作,它允许你从一个时间中增加和减少分钟。然而,时间是一个简单的字符串“15”,它通过一个过滤器输出“15分钟”。我想改变这一点,所以不是说“15分钟”是“00:15”,我如何将hourMinFilter重新设计成一个时间过滤器 app.controller('MainCtrl', function($scope) { $scope.readyTime = 15; }); app.filter('hourMinFilter', function () { retur

我已经创建了一个工作,它允许你从一个时间中增加和减少分钟。然而,时间是一个简单的字符串“15”,它通过一个过滤器输出“15分钟”。我想改变这一点,所以不是说“15分钟”是“00:15”,我如何将hourMinFilter重新设计成一个时间过滤器

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;
    };
  });

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

如果您不耐烦,以下是建议的解决方案:

更改了三行:

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


就在你发布答案之前,我在那里走了一段路,我让它在2:15进行,我不知道如何在2:15进行,所以你的答案是完美的!非常感谢,干杯!
  var hStr = (h > 0) ? h >= 10 ? h  : '0' + h : '00';
  var mStr = (m > 0) ? m >= 10 ? m  : '0' + m : '00';
  var glue = (hStr && mStr) ? ':' : '';