Как создать новую дату, используя 2 даты
У меня есть 2 даты, и мне нужно создать 3-ю дату, используя эти 2 даты.
Если
presentdate = "11/30/2018" and enddate = "1/29/2019", then newdate = "12/30/2018"
Поскольку даты JavaScript - месяцев варьируются от 0 до 11, а также даты немного запутаны, я не получаю желаемых результатов.
Что я уже пробовал:
/Step1: var sDt = new Date(startDate); var pDt = new Date(presentDate); //Step2: Doing Step 3 directly returns invalid date so using the following step worked in returning dates var presentDt = (pDt.getMonth() + 1) + '/' + pDt.getDate() + '/' + pDt.getFullYear(); var sDt = (sDt.getMonth() + 1) + '/' + sDt.getDate() + '/' + sDt.getFullYear(); //Step 3 var mPresent = moment(presentDt, "MM/DD/YYYY"); var mStart = moment(sDt, "MM/DD/YYYY"); //Step 4 // Create a new momnt object compliant with your needs var pastStart = moment({ year: mPresent.year(), // get presentDt's year month: mPresent.add(1, 'month').month(), // get presentDt's month date: mStart.add(1, 'day').date() // get startdt day of the month and add 1 day to it }); // Display the result in the format you need console.log(pastStart.format("MM/DD/YYYY")); });
Это также возвращает недопустимую дату, если моя дата "1/30/2019" и endate ="5/30/2019", потому что когда вы берете end day + 1 и создаете новую дату, февраль не имеет 31 дня. ИТР и возвращает неверную дату.
Любая помощь будет оценена по достоинству. Спасибо.
MadMyche
Где определяется "конечный день"? И что именно вы хотите, чтобы "следующая дата" была относительно входных данных 2 дат?
Member 14013562
Обновленный