Почему дата в октябре просчитывается, дата fns

#javascript #angular #date-fns

Вопрос:

Я использую библиотеку date-fns, и у меня есть логика, которая вычисляет время с заданной даты в зависимости от указанного мной числа.

Например:

количество: 1 месяц

дата начала: 01/09/2020

время окончания: (рассчитывается автоматически в соответствии с приведенным ниже кодом)

 const startDate = new Date("the date that gets 01/09/2020 in this case") endTime= add(sub(startDate, {seconds: 1}), {months: numberOfPeriods}).toUTCString();  

Во все месяцы это выглядит нормально, но у меня проблема с октябрем, потому что он занимает как бы дополнительные 2 часа, а затем неправильно рассчитывается.

У кого-нибудь есть какие-нибудь идеи? Я отправляю ss из consol, который показывает расчетное время окончания

введите описание изображения здесь

Комментарии:

1. Летнее время, вероятно, является причиной наступления октября. Вероятно, весной у вас будет похожая ошибка. Я бы посоветовал, как это сделать с Date объектом, но мне непонятно, что должен делать этот код. (Я не пользуюсь date-fns .)

2. когда — нибудь слышали о летнем времени? В этом, вероятно, и заключается проблема.

3. «Весеннее» время, такой проблемы нет. Я действительно понятия не имею, как исправить эту ошибку И как бы вы решили эту проблему с объектом даты? @Ти Джей Краудер