Как получить фильтр amCalendar в 24-часовом формате (Angular-Moment.js)

Я использую Angular-момент, и функция добавления момента: moment().add(7, 'h');,

Для того, чтобы показать, когда утверждение будет сделано.

У меня есть таблица с оценкой для утверждения для различных продуктов. я использую amCalender фильтр. Например, результаты могут отображаться сегодня в 22:00 и т. Д. Вместо этого я хочу, чтобы время было в 24-часовом формате (сегодня в 22:00).

2 ответа

Решение

Как сказано в документации, amCalendar:

Формат даты с использованием moment.js calendar() метод.

Вы можете настроить момент calendar вывод с использованием moment.updateLocale, По умолчанию момент использования '[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>

Попробуй это.

moment().add(7, 'h').format('H:mm');
Другие вопросы по тегам