Редактировать: Я попробовал некоторые из предложений в ответ ниже, но я до сих пор не получаю соответствующих результатов. Любая дополнительная помощь будет оценена по достоинству.Вычисление разрыва между предыдущей датой окончания и следующей датой начала в javascript
Я внедрил форму в HTML, которая принимает 2 даты в качестве входных данных, и они добавляются в два массива. Затем я вычисляю разницу между двумя датами в месяцах.
a) Форма запрашивает у пользователя свою пятилетнюю историю, и поэтому пользователь должен иметь возможность вводить даты, пока он/она не обогатит пять лет (60 месяцев). Для этого вопроса, я попробовал функцию ниже:
if (typeof startArray[index] !== 'null' && endArray[index] !== null) {
var result = difference_between(dateFrom, dateTo);
document.getElementById("txtResult").value = result
if(result <= 60) {
document.getElementById('datepicker1').reset();
document.getElementById('datepicker2').reset();
document.getElementById('txtResult').reset();
}
else{
alert("Go to the next section");
document.getElementById('btnSave').disable = true;
}
б) Форма должна быть в состоянии вычислить промежуток между датой окончания и следующей датой начала и не должна быть разрывом более чем на два месяца. Например, форма должна иметь возможность сравнить дату окончания школы с датой начала работы uni и если она больше 2 месяцев, тогда я должен сообщить об ошибке. Вот моя функция:
function GetDifference() {
var dateFrom = new Date(document.getElementById("datepicker1").value);
var dateTo = new Date(document.getElementById("datepicker2").value);
document.getElementById("txtResult").value = difference_between(dateFrom, dateTo);
//Is there a gap of more than 2 months?
if (endDate.length && (difference_between(endDate[endDate.length - 1], dateFrom)) > 2) {
window.alert("There should not be a gap of more than two months in this section.");
}
}
вот JSFIDDLE: http://jsfiddle.net/stelios13/KsuxV/111/
Спасибо.
Итак, вам нужно знать, как получить разницу в месяцах между двумя датами? Ваш вопрос очень длинный. Возможно, создайте новый, который будет короче с соответствующим кодом. – Halcyon
Я получил разницу в месяцах. Дело в том, что мне нужно вычислить разрыв между предыдущей датой окончания (INDEX 0 в endArray и индексом 1 в стартовом массиве. Также мне нужно остановить вход, когда пользователь использует пятилетний предел (60 месяцев) –
Возможно, это будет актуально здесь: http://stackoverflow.com/questions/3224834/get-difference-between-2-dates-in-javascript –