在 angularJS table 中格式化日期
formatting date in angularJS table
我正在 angularJS 创建一个网络应用我有一个格式如下的日期
"response.data[0].Date = "/Date(1539887400000)/"
我可以像这样
瞬间将这个日期转换成正常的MM-DD-YYYY
moment(response.data[0].Date).format('DD-MM-YYYY');
但是在使用 ng-repeat 将数据绑定到 table 时我无法实现这个
我做了这样的事情
<td>{{d.Date| date:'DD-MM-YYYY' }}</td>
但在 table 中它仍然显示为 /Date(1539887400000)/
我需要做什么才能将 /Date(1539887400000)/
转换为 DD-MM-YYYY
您的问题是因为您使用的 date
过滤器是 AngularJS 定义的过滤器,设计用于处理日期对象、纪元以来的秒数或特定格式的字符串(参见:https://docs.angularjs.org/api/ng/filter/date)。在您的例子中,您传递的是字符串 "Date(1539887400000)"
,它不符合过滤器的 date
参数期望的任何特定格式。以下是我考虑解决此问题的几种方法:
- 您可以在从数据库中获取数据后初始化日期选项。例如:
$scope.testDate = new Date(1539887400000);
。然后,您可以在此对象上使用常规 angular 日期过滤器:{{testDate | date: 'dd-MM-yyyy'}}
.
- 您可以使用 angular-moment (link: https://github.com/urish/angular-moment),它比常规的 angularJS 日期过滤器具有更多功能。然后您可以使用
amDateFormat
并传递您的字符串,如下所示:{{d.Date | amDateFormat: 'DD-MM-YYYY'}}
- 您可以从您当前拥有的字符串中解析出数字。由于常规 angularJS
date
过滤器可以接受一个数字(自纪元以来的秒数)作为参数,它会正确地格式化它。
请在此处查看示例 plunker,其中显示了其中的一些实际操作:https://plnkr.co/edit/quCvL3GhSux8ctYQqAwA
我正在 angularJS 创建一个网络应用我有一个格式如下的日期
"response.data[0].Date = "/Date(1539887400000)/"
我可以像这样
瞬间将这个日期转换成正常的MM-DD-YYYY
moment(response.data[0].Date).format('DD-MM-YYYY');
但是在使用 ng-repeat 将数据绑定到 table 时我无法实现这个
我做了这样的事情
<td>{{d.Date| date:'DD-MM-YYYY' }}</td>
但在 table 中它仍然显示为 /Date(1539887400000)/
我需要做什么才能将 /Date(1539887400000)/
转换为 DD-MM-YYYY
您的问题是因为您使用的 date
过滤器是 AngularJS 定义的过滤器,设计用于处理日期对象、纪元以来的秒数或特定格式的字符串(参见:https://docs.angularjs.org/api/ng/filter/date)。在您的例子中,您传递的是字符串 "Date(1539887400000)"
,它不符合过滤器的 date
参数期望的任何特定格式。以下是我考虑解决此问题的几种方法:
- 您可以在从数据库中获取数据后初始化日期选项。例如:
$scope.testDate = new Date(1539887400000);
。然后,您可以在此对象上使用常规 angular 日期过滤器:{{testDate | date: 'dd-MM-yyyy'}}
. - 您可以使用 angular-moment (link: https://github.com/urish/angular-moment),它比常规的 angularJS 日期过滤器具有更多功能。然后您可以使用
amDateFormat
并传递您的字符串,如下所示:{{d.Date | amDateFormat: 'DD-MM-YYYY'}}
- 您可以从您当前拥有的字符串中解析出数字。由于常规 angularJS
date
过滤器可以接受一个数字(自纪元以来的秒数)作为参数,它会正确地格式化它。
请在此处查看示例 plunker,其中显示了其中的一些实际操作:https://plnkr.co/edit/quCvL3GhSux8ctYQqAwA