2014-10-11 2 views
1

Как я могу форматировать дату в AngularJS?Angularjs Формирование и сортировка даты

Мой внутри базы данных MySQL записывается в этом формате 2014-10-12 00:17:45 как я могу отформатировать его в AngularJs так будет отображаться только как этот 12:17 AM - Oct. 12, 2014

Я попытался это решение, но я не получил никакой удачи https://stackoverflow.com/a/22395280/3933400.

Также, как я могу сортировать его от самых старых до новейших?

UPDATE:

Дата из базы данных был послан PHP (JSON). Использование http.get мне удается получить данные. Таким образом, вывод в формате, как этот 2014-10-12 00:17:45

ответ

0

создать фильтр для EX:

app.filter('dateToISO', function() { 
    return function(input) { 
    input = new Date(input).toISOString(); 
    return input; 
}; 

<div> 
    {{"2014-10-12 00:17:45" | dateToISO | date:'hh:mm a - MMM. dd, yyyy'}} // filter date using 
</div> 

Вы можете сортировать его, когда вы получаете данные из базы данных

+0

Извините за мой вопрос. Я уже обновил его. –

+0

ok проверить ответ :) –

0

решения кроссбраузерных для работы с датами вот так:

Сначала дата, которую вы получаете от бэкэнд, должна быть отформатирована следующим образом: «2014-10-12T00: 17: 45» (обратите внимание на T), без постфикса по часовому поясу, например (+0200). Недавно я сделал исследование по этому вопросу, и это был единственный допустимый формат для всех браузеров.

Затем вы можете создать новый объект Date из этой строки даты. Затем вы можете использовать фильтр даты Угловая или использовать свой собственный, если вам нужно. Объект Date имеет много методов, которые должны легко выполнять требуемую работу.

+0

Должен ли я использовать тип timestamp в mysql db? –

+0

Datetime или timestamp, это не должно быть важно в вашем случае. Я использую JMS Serializer для сериализации данных, поэтому у меня есть этот знак «T». – tomazahlin

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