【发布时间】:2016-03-03 11:30:12
【问题描述】:
我在角度数据集上使用数据范围过滤器,但它不“包括”结束日期。我必须从日期选择器中选择 +1 天才能正常工作。开始日期工作正常。
此代码仅为示例,并非生产...
JAVASCRIPT
// parse a date in dd-mm-yyyy format
function parseDate(input) {
var parts = input.split('-');
return new Date(parts[2], parts[1]-1, parts[0]);
}
nameSpace.filter("rangeFilter", function() {
return function(items, from, to) {
var df = parseDate(from);
var dt = parseDate(to);
var arrayToReturn = [];
for (var i=0; i<items.length; i++){
var tf = new Date(items[i].date1 * 1000);
if (tf >= df && tf < dt) {
arrayToReturn.push(items[i]);
}
}
return arrayToReturn;
};
});
HTML
From:<input ng-model="datef" type="text" placeholder="" />
To:<input ng-model="datet" type="text" placeholder="" />
<tr ng-repeat="order in orders | rangeFilter:datef:datet">
<td>{{order.date1 * 1000 | date:'dd-MM-yyyy'}}</td>
</tr>
范围/控制器
nameSpace.controller('MyController', function MyController($scope) {
$scope.datef = "27-05-2010"
$scope.datet = "29-07-2015";
$scope.orders = [
{
"date1": 1306281600
},
{
"date1": 1196467200
},
{
"date1": 1406505600
},
{
"date1": 1406592000
}]
});
【问题讨论】:
标签: javascript angularjs date-range