以angularjs格式化日期

时间:2016-01-13 12:14:06

标签: javascript angularjs

如何格式化日期"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'}}

由于

3 个答案:

答案 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;}}