如何根据angularjs中的入住和退房日期分割日期?
我有一个酒店系统需要分割日期(停留时间),开始日期(入住)和结束日期(退房)由用户在datepicker中选择。像这样:如何根据angularjs中的入住和退房日期分割日期?,angularjs,date,Angularjs,Date,我有一个酒店系统需要分割日期(停留时间),开始日期(入住)和结束日期(退房)由用户在datepicker中选择。像这样: 首先,用ng repeat准备您的表格 <table ng-init="loadStays()" ng-if="stays"> <thead> <tr> <th>Date</th> <th>Amount</th> </tr> <
首先,用ng repeat准备您的表格
<table ng-init="loadStays()" ng-if="stays">
<thead>
<tr>
<th>Date</th>
<th>Amount</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="stay in stays | between:lodging.checkIn:lodging.checkOut">
<td>{{ stay.date | date : 'mm-dd-yyyy' }}</td>
<td>{{ stay.amount }}</td>
</tr>
</tbody>
</table>
在第一个日期开始循环,并递增一天,直到到达结束日期。你试过什么?像moment.js这样的库对这样的事情很有帮助,但使用javascript Date也不难object@linyuanxie-你能给我看一下angularjs的签入签出日期选择器代码吗?这里我需要相同的功能
// For parse a date in format: 'mm-dd-yyyy'
// If you have to parse the date from your item (maybe datetime ?)
// Use the built-in date filter
// like date = $filter('date')(item.date, 'mm-dd-yyyy')
parseDate = function(input) {
var parts = input.split('-');
return new Date(parts[1]-1, parts[2], parts[0]);
};
// Create the filter assuming app is your module.
app.filter('between', function() {
return function(items, from, to) {
filtered = [];
var dateFrom = parseDate(from);
var dateTo = parseDate(to);
if (from == '' && to == '')
return items;
filtered = items.filter(function(item) {
if (from !== '' && to == '') {
return item.date >= dateFrom;
} else if (from == '' && to !== '') {
return item.date <= dateFrom;
} else if (from !== '' && to !== '') {
return item.date >= dateFrom && item.date <= dateTo
}
});
return filtered;
};
});
// Retrieve stays from yourdomain/stays
$scope.loadStays = function() {
$http.get('stays').then(function(response) {
$scope.stays = response.data;
}, function(response) {
console.log(response);
});
};