Учитывая два Date()
объекта, где один меньше другого, как я могу делать циклы каждый день между датами?
for(loopDate = startDate; loopDate < endDate; loopDate += 1)
{
}
Будет ли этот цикл работать? Но как я могу добавить один день к счетчику циклов?
Спасибо!
javascript
date
loops
Том Гуллен
источник
источник
Date.now()
при определенииnow
?new Date()
возвращает текущую дату как объект по умолчанию . ВызовDate
безnew
конструктора просто дает вам строку Date, которую вы потом конвертируете в объект Date?new Date(2012, 0, 1);
подбирал неправильный день (за день до этого),new Date(Date.UTC(2012, 0, 1))
работал нормально.Основано на ответе Тома Гуллена.
источник
Date
глобальный объект developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…Если startDate и endDate действительно являются объектами даты, вы можете преобразовать их в число миллисекунд с полуночи 1 января 1970 года, например:
Затем вы можете переходить от одного к другому, увеличивая loopTime на 86400000 (1000 * 60 * 60 * 24) - количество миллисекунд в одном дне:
источник
86400000
секунды в дне. Этот цикл хрупок для изменений летнего времени и других граничных условий.Я думаю, что нашел еще более простой ответ, если вы позволите себе использовать Moment.js :
источник
Вот простой рабочий код, у меня работает
источник
источник
Основываясь на ответе Табаре, мне пришлось добавить еще один день в конце, так как цикл сокращается до
источник
Если вы хотите эффективный способ с миллисекундами:
источник
Предположим, вы получили начальную и конечную даты из пользовательского интерфейса и сохранили их в переменной области действия в контроллере.
Затем объявите массив, который будет сбрасываться при каждом вызове функции, чтобы при следующем вызове функции новые данные могли быть сохранены.
var dayLabel = [];
Не забудьте использовать новую дату (вашу начальную переменную), потому что, если вы не используете новую дату и напрямую назначаете ее переменной, функция setDate будет изменять значение исходной переменной в каждой итерации`
источник
Основываясь на ответе Джаярджо:
источник