如何获取 24 小时格式的日历过滤器 (Angular-Moment.js)

How to get amCalendar filter in 24hours format (Angular-Moment.js)

我用的是angular-moment,moment添加函数:moment().add(7, 'h');.

以便显示何时会完成批准。

我有一个 table 显示各种产品的批准估计。我正在使用 amCalender 过滤器。例如,结果可能显示今天晚上 10 点等。我希望时间采用 24 小时格式(今天 22:00)。

试试这个。

moment().add(7, 'h').format('H:mm');

作为 docs says, amCalendar:

Format dates using moment.js calendar() method.

您可以使用 moment.updateLocale 自定义时刻 calendar 输出。默认情况下使用 '[Today at] LT''[Tomorrow at] LT' 等,而在您的情况下您需要 '[Today at] HH:mm'

这是一个实际工作的例子:

angular.module('MyApp',['angularMoment'])
.run(function(){
  moment.updateLocale('en', {
    calendar : {
      lastDay : '[Yesterday at] HH:mm',
      sameDay : '[Today at] HH:mm',
      nextDay : '[Tomorrow at] HH:mm',
      lastWeek : '[last] dddd [at] HH:mm',
      nextWeek : 'dddd [at] HH:mm',
      sameElse : 'L'
    }
  });
})
.controller('AppCtrl', function($scope) {
  $scope.message = {};
  $scope.message.time = moment().add(7, 'h');
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.9/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-moment/1.0.1/angular-moment.min.js"></script>

<div ng-app="MyApp" ng-controller="AppCtrl">
  <span>{{message.time | amCalendar}}</span>
</div>