Вроде, но вы можете получить этот результат намного лучше. сначала конвертируйте ваше время в moment.js object
, затем получите разницу между fromTime
и toTime
, затем получите diff как часы и, наконец, добавьте один час для разницы в цикле.
let fromTime = moment('17:00', 'HH:mm');
let toTime = moment('20:00', 'HH:mm');
let duration = moment.duration(toTime.diff(fromTime));
let diff = duration.hours();
let array = [];
for (i = 0; diff > i; i++) {
let result = moment(fromTime).add(i, 'hours').format('HH:mm')
array.push({
result
})
}
console.log(array)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.2.1/moment.min.js"></script>
С одной стороны, имеет смысл получить точные часы между from
и to
разами, поэтому вы можете установить i=1
только для получения:
[
{
"result": "18:00"
},
{
"result": "19:00"
}
]