【发布时间】:2014-01-09 16:29:09
【问题描述】:
我的日期从数据库中出来,如下所示:2013-11-21 17:43:20
我正在尝试使用 Angular 的日期过滤器将它们变成更漂亮的东西,但是...
{{Objected.created | date:'shortDate'}}
或
{{Objected.created | date:'YYYY'}}
...只是吐出原始日期时间字符串:2013-11-21 17:43:20。没有错误。我做错了什么?
更新 我看到 MySQL 的默认日期时间与 Angular 的数据过滤器所期望的不兼容。我正在尝试像这样即时转换它,但它会抛出错误:
<li ng-repeat="result in data">{{ new Date(result.Job.created).toISOString() | date:'shortDate'}}</li>
我怀疑我无法以我尝试的方式实例化 Date 类。错误是 $parse:syntax 错误。
更新
感谢@m59 的帮助,我做了一些小的调整...
HTML:
<html ng-app="myApp">
...
{{Object.created | dateToISO | date:'shortDate'}}
JS:
var myApp = angular.module('myApp',[]);
myApp.filter('dateToISO', function() {
return function(input) {
input = new Date(input).toISOString();
return input;
};
});
这个自定义过滤器将默认的 MySQL 日期时间转换为日期过滤器期望的格式,所以我发送它一个接着一个,然后“瞧”。
【问题讨论】:
标签: javascript mysql angularjs datetime