Я пишу небольшой фрагмент JavaScript, который поможет мне получить значения между двумя датами (включая сегодняшний день).
Вот мой код.
var beforeSevenDays = moment(Date.now() - 7 * 24 * 3600 * 1000).format('YYYY-MM-DD');
var i = 0;
for (var m = moment(beforeSevenDays); m.diff(moment(Date.now()).local('in'), 'days') <= 0; m.add(1, 'days')) {
console.log("i: " + i + " " + m.format('YYYY-MM-DD'));
i += 1;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
когда я запускаю этот код, я получаю вывод
i: 0 2018-10-03
i: 1 2018-10-04
i: 2 2018-10-05
i: 3 2018-10-06
i: 4 2018-10-07
i: 5 2018-10-08
i: 6 2018-10-09
i: 7 2018-10-10
i: 8 2018-10-11
, но ожидаемый вывод
i: 0 2018-10-03
i: 1 2018-10-04
i: 2 2018-10-05
i: 3 2018-10-06
i: 4 2018-10-07
i: 5 2018-10-08
i: 6 2018-10-09
i: 7 2018-10-10
здесь, когда я изменяю запрос как m.diff(moment(Date.now()).local('in'), 'days') < 0
Я получаю вывод как
i: 0 2018-10-03
i: 1 2018-10-04
i: 2 2018-10-05
i: 3 2018-10-06
i: 4 2018-10-07
i: 5 2018-10-08
i: 6 2018-10-09
, пожалуйста, дайте мне знать, где я ошибаюсь и как я могу это исправить.