2016-03-10 3 views
-1

В настоящее время мой Угловой код отображает дату, как это:Форматирование Даты в угловых

03/10/2016

<span class="num">{{appointment.calendarSlot}}</span> 

Я хочу, чтобы отобразить дату, как это:

Пятницу, Март 25

как я могу это сделать?

ОБНОВЛЕНИЕ: appointment.calendarSlot является строка, а не Javascript Дата

+0

Дубликат вопрос: [Формат времени Дата в угловых JS] (http://stackoverflow.com/questions/12920892/format-date-time-in- angular-js) – Igor

+0

@JohnDoe Обновлен мой ответ для форматирования строки. Оформите мой JSFiddle в ответе. –

ответ

2

You могут использовать следующие date filter:

<span class="num">{{ appointment.calendarSlot | date:'EEEE, MMMM d' }}</span> 
+0

Назначение.calendarSlot - это строка, а не объект JS datetime. – JohnDoe

+0

Я думаю, что вы, возможно, захотите задать отдельный вопрос, вместо того, чтобы путать вопросы и ответы здесь с другим вопросом. – gtlambert

1
scope.date = new Date() // controller 


{{date | date:'EEEE, MMMM dd'}} // view 
+0

Вам не нужен 'dd', просто' d' – gtlambert

+0

Это зависит от вас Может быть, вам понадобится 03 марта, а не 3 марта. Я посмотрел формат происхождения 03/10/2016. Это может быть и 3/10/2016. Поэтому я решил поставить dd в ответ. –

1

Вы могли бы попробовать это

<div ng-app='app' ng-controller="ctrl"> 
    <span class="num" ng-bind="appointment.calendarSlot | date:'EEEE, MMMM d'"></span> 
</div> 

JS

var app = angular.module('app', []); 

app.controller('ctrl', function($scope) { 
    $scope.appointment = {}; 
    $scope.appointment.calendarSlot = new Date('03/10/2016'); 
}); 

Рабочая JSFiddle здесь http://jsfiddle.net/WfuAh/150/

+0

Это не работает, если строка находится в формате MM/dd/yy, как указано в сообщении OP. – Lex

+0

@Lex Обновлен мой ответ. Это сработает. –

+0

Я согласен с тем, что должен работать, но мне интересно, оставил ли OP недостаток окружающего кода. Я подозреваю, хотя у меня нет абсолютно ничего, чтобы обосновать это подозрение, что ' ', на который ссылается в вопросе, находится внутри конструкции' ng-repeat'. – Lex

1

Чтобы сделать это наиболее гибкий, я хотел бы добавить пользовательский фильтр для вашего приложения который преобразует строку в дату, а затем вы можете использовать встроенный фильтр форматирования угловой даты.

.filter("asDate", function() { 
    return function(input) { 
     return Date.parse(input); 
    } 
}) 

Тогда разметка становится:

<span class="num">{{ appointment.calendarSlot | asDate | date:'EEEE, MMMM d' }}</span> 
Смежные вопросы