这是我的选择,选项应该是yyyy / MM / dd,但它们不是
<select ng-model="date" ng-options="row.Triage_x0020_start_x0020_date as row.Triage_x0020_start_x0020_date for row in rows | jsonDate:'yyyy/MM/dd'| unique:'Triage_x0020_start_x0020_date'">
- 选择主题 -
这是我正确显示行的列表.Triage_x0020_start_x0020_date
<ul>
<li ng-repeat="row in rows | filter:businessUnit | filter:topic | filter:date">
<p>{{row.ID}}</p>
<p>{{row.BusinessUnit}}</p>
<p>{{row.Topic}}</p>
<p>{{row.Triage_x0020_start_x0020_date | jsonDate:'yyyy/MM/dd'}}</p>
</li>
</ul>
这是我的列表,它是将json字符串转换为Date对象的过滤器。
var myApp = angular.module('myApp', ['ngRoute','ui.utils']);
myApp.filter('jsonDate', function ($filter) {
return function (input, format) {
return $filter('date')(new Date(input), format);
};
});
myApp.controller('RowsListCtrl', function ($scope) {
$scope.rows = myJSON;
});
问题是为什么过滤器不适用于选择&gt;选项和显示字符串2014-04-02 18:00:00
答案 0 :(得分:2)
您应该在过滤器中将日期转换为时间戳
app.filter('jsonDate', ['$filter', function ($filter) {
return function(input, format) {
return $filter('date')(new Date(input).getTime(), format);
};
}]);
但使用2014-04-02 18:00:00
时,日期格式new Date()
在Safari和Firefox中无效,您可以参考here