@bozuriciyu

Как получить массив дат между двумя значениями? Почему тут результат неправильный?

Есть начальная дата '2019-02-23' и конечная '2019-03-26'

Как поулчить массив всех дат в таком же формате между ними?

Попробовал date-fns но он дает неправильный результат

eachDayOfInterval({
        start: new Date('2019-02-23'),
        end: new Date('2019-03-26'),
      }).map(i => i.toISOString().split('T')[0])


Дает результат

[
  '2019-02-22', '2019-02-23', '2019-02-24',
  '2019-02-25', '2019-02-26', '2019-02-27',
  '2019-02-28', '2019-03-01', '2019-03-02',
  '2019-03-03', '2019-03-04', '2019-03-05',
  '2019-03-06', '2019-03-07', '2019-03-08',
  '2019-03-09', '2019-03-10', '2019-03-11',
  '2019-03-12', '2019-03-13', '2019-03-14',
  '2019-03-15', '2019-03-16', '2019-03-17',
  '2019-03-18', '2019-03-19', '2019-03-20',
  '2019-03-21', '2019-03-22', '2019-03-23',
  '2019-03-24', '2019-03-25'
]
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
coderisimo
@coderisimo Куратор тега JavaScript
А вы знаете, что в toISOString() часовой пояс всегда равен UTC, что обозначено суффиксом "Z" (если выведите всю дату в полной форме это будет видно), а создаете вы дату new Date в вашем локальном часовом поясе?
Смотрите как бывает : )))
5d993e3e7ac11900834325.jpeg

решение :
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы