我正在用angularJS创建一个网络应用,我的日期格式如下
“ response.data [0] .Date =” / Date(1539887400000)/“
我可以像这样将这个日期转换为正常的brew services list
MM-DD-YYYY
但是在使用ng-repeat将数据绑定到表中时,我无法实现
我做了这样的事情
moment(response.data[0].Date).format('DD-MM-YYYY');
但在表中它仍显示为<td>{{d.Date| date:'DD-MM-YYYY' }}</td>
将/Date(1539887400000)/
转换为DD-MM-YYYY所需的操作
答案 0 :(得分:0)
您的问题是因为您使用的date
过滤器是AngularJS定义的过滤器,并且设计用于日期对象,自纪元以来的秒数或特定格式的字符串(请参阅:{{3 }})。在您的情况下,您要传入字符串"Date(1539887400000)"
,该字符串不符合过滤器date
参数期望的任何特定格式。这是我考虑解决此问题的几种方法:
$scope.testDate = new Date(1539887400000);
。然后,您可以在此对象上使用常规的日期过滤器:{{testDate | date: 'dd-MM-yyyy'}}
。amDateFormat
并传入您的字符串,例如:{{d.Date | amDateFormat: 'DD-MM-YYYY'}}
date
过滤器可以接受数字(自纪元以来的秒数)作为参数,因此将正确格式化它。请在此处查看示例废物,以了解其中的一些操作:https://github.com/urish/angular-moment