2016-01-13 2 views
0

Как отформатировать дату, как "Tue 01/19/2016", чтобы показать, как ` "во вторник, 19 января"Формат даты в angularjs

Я попытался

$scope.date = "Tue 01/19/2016"; 
<p>{{date | date:'EEEE/MMMM/d'}}</p> 

выход

"Tue 01/19/2016" 

Есть ли способ отформатируйте его как во вторник, 19 января

Обновление: Получил i т работы.

var date = new Date("Tue 01/19/2016") 
{{date | date: 'EEEE, MMMM d'}} 

Благодаря

+0

Все типы форматов можно найти в документах Angular для [API фильтра даты] (https://docs.angularjs.org/api/ng/filter/date). – Sean3z

+1

. Упростите для себя, включите moment.js для углового : https://github.com/urish/angular-moment – Michelangelo

ответ

4

Вы должны сделать объект даты.

$scope.date = new Date("Tue 01/19/2016"); 

Чем вы можете использовать фильтр даты

{{date | date:'EEEE/MMMM/d'}} 
+0

Спасибо. Я также получил его работу. Я приму этот ответ. – Defyleiti

1

Переменная даты не может быть такой строкой. AngularJS documentation говорит:

Дата форматировать или как дата объект, миллисекунды (строка или число) или различные ISO 8601 даты и время форматы строк (например, гггг-ММ-DDThh: мм: ss.sssZ и его сокращенные версии, как гггг -MM-ddTHH: mmZ, yyyy-MM-dd или yyyyMMddTHHmmssZ).

Таким образом, один из вариантов является определение переменной $scope.date как объект Date, как это:

$scope.date = new Date('2016-01-19'); 

Кроме того, необходимо ваша строка фильтра должна быть изменена для вывода нужного результата:

<p>{{ date | date:'EEEE, MMMM d' }}</p> 

Но, как видите, строка даты не такая же, как у вас, поэтому, если вы получаете ее строку из внешнего источника в своем приложении (например, из API), вам придется вручную преобразовать ее в совместимая строковая форма t, который может быть напрямую совместимым с AngularJS строковым форматом (как в документах) или одним из Date object compatible string options. Метод Date.parse() также может помочь вам.

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