2015-10-07 2 views
1

Я использую группу GroupBy с угловым фильтром для группировки данных в ng-repeat. Проблема заключается в том, что дата представлена ​​как: 2015-10-09T19: 00: 00 + 0200. Таким образом, данные будут также сгруппированы в зависимости от часов и минут вместо даты.Дата GroupBy с использованием углового фильтра lib

<div ng-repeat="(key, value) in events.data | groupBy: 'startTime'"> 

Как можно исключить часы и принять только даты?

Спасибо.

+0

Не слишком уверен, что добавление дополнительной пары библиотек для работы с датами является опцией, но если это я настоятельно рекомендую 'momentJs' http://momentjs.com/ и угловую оболочку для него« угловой момент »https : //github.com/urish/angular-moment. Они обеспечивают мощные и легкие методы борьбы с болью, которая является датой JavaScript. Угловая оболочка предоставляет фильтры для форматирования дат, среди прочего, которые вы могли бы передать в 'groupBy' или' orderBy'. Это означает, что вам не нужно разворачивать свои собственные. – ste2425

+0

@ ste2425 Actualy на данный момент я отлично использую фильтр угловой даты, если он становится более сложным, я рассмотрю использование момента .js. Спасибо. – Jack

ответ

2

Вы можете создать метод форматирования для дат в контроллере и использовать его при группировке.

например

vm.formatDate (DateTime) наш метод форматировщик в контроллере.

<div ng-repeat="(key, value) in events.data | groupBy: 'vm.formatDate(startTime)'"> 

Надеюсь, это поможет.

+0

Это помогло! Не могу поверить, насколько это было просто! Спасибо чувак – Jack

Смежные вопросы