目前,我的Angular代码会显示如下日期:
2016年3月10日
<span class="num">{{appointment.calendarSlot}}</span>
我想显示这样的日期:
3月25日星期五
我该怎么做?
更新:appointment.calendarSlot是一个字符串,而不是Javascript Date
答案 0 :(得分:2)
您可以使用以下date filter:
<span class="num">{{ appointment.calendarSlot | date:'EEEE, MMMM d' }}</span>
答案 1 :(得分:1)
试试这个:
https://docs.angularjs.org/api/ng/filter/date
此行适合您:
'fullDate': equivalent to 'EEEE, MMMM d, y' for en_US locale (e.g. Friday, September 3, 2010)
答案 2 :(得分:1)
scope.date = new Date() // controller
{{date | date:'EEEE, MMMM dd'}} // view
答案 3 :(得分: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/
答案 4 :(得分:1)
为了使其最灵活,我会为您的应用添加一个自定义过滤器,将字符串转换为日期,然后您可以使用内置的Angular日期格式过滤器。
.filter("asDate", function() {
return function(input) {
return Date.parse(input);
}
})
然后你的标记变成:
<span class="num">{{ appointment.calendarSlot | asDate | date:'EEEE, MMMM d' }}</span>