如何从输入类型时间中排除秒数?

时间:2018-06-11 13:59:09

标签: angularjs

我从输入类型'时间'获取时间。

使用像{{Employee.StartTime}}这样的AngluarJS进行打印。 但我担心的是,这种方法会在12:15:00打印时间。

那么如何从格式中排除秒数?

4 个答案:

答案 0 :(得分:2)

尝试,它将排除秒格式。

{{Employee.StartTime | date:"HH:mm}}

答案 1 :(得分:0)

如果{{Employee.StartTime}}Date个对象,那么您可以使用date filter显示它。

如果我理解正确,你只需要几小时和几分钟,这可以实现:

{{Employee.StartTime | date:"HH:mm}}

答案 2 :(得分:0)

根据the angularjs docs,您可以选择多种格式。您可以在变量中指定它并使用它:

在Html中:

<span>{{Employee.StartTime |  date : format}}</span>

在控制器中:

$scope.format = 'hh:mm';

对于您的情况,您可以直接找到:

 <span>{{Employee.StartTime |  date : 'hh:mm'}}</span>

答案 3 :(得分:0)

我认为您从Employee对象获取的StartTime可能是一个字符串,因为它返回“12:15:00”作为值而不应用任何过滤器或没有任何日期转换。所以我已经描述了我在下面处理这种情况的答案。另请查看您给定方案的this plunker工作示例。

<强>模板:

{{Employee.StartTime | timeFilter}}

<强>控制器:

app.controller('MainCtrl', function($scope) {
  $scope.Employee={
    StartTime: '12:15:00'
  };
});

app.filter('timeFilter', function($filter) {
  return function(input){
    var date=new Date();
    date.setHours(input.split(':')[0]);
    date.setMinutes(input.split(':')[1]);
    return $filter('date')(date, 'hh:mm', 'US');
  }
});

注意: 您可以在过滤器中将格式'hh:mm'更改为'HH:mm',因为您需要24小时格式。