如何格式化日期"Tue 01/19/2016"
以显示为“"星期二,1月19日"
我试过
$scope.date = "Tue 01/19/2016";
<p>{{date | date:'EEEE/MMMM/d'}}</p>
输出
"Tue 01/19/2016"
有没有办法将其格式化为1月19日星期二
更新:搞定了。
var date = new Date("Tue 01/19/2016")
{{date | date: 'EEEE, MMMM d'}}
由于
答案 0 :(得分:4)
你必须制作一个日期对象。
$scope.date = new Date("Tue 01/19/2016");
您可以使用日期过滤器
{{date | date:'EEEE/MMMM/d'}}
答案 1 :(得分:1)
日期变量不能是这样的字符串。 AngularJS documentation说:
格式化为Date对象,毫秒(字符串或数字)或各种ISO 8601日期时间字符串格式的日期(例如yyyy-MM-ddTHH:mm:ss.sssZ及其较短版本,如yyyy-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)接收字符串,则您必须手动转换它是一个兼容的字符串格式,可以直接与AngularJS兼容的字符串格式(如在文档中),或Date object compatible string options之一。 Date.parse()方法也可以为您提供帮助。
答案 2 :(得分:0)
试试这个:
{{date |日期:&#39; EEEE,MMMM,dd&#39;}}