Получить количество годов между двумя датами
Имея дату начала события и дату ее завершения, вычислить сколько полных лет продолжалось данное событие. Примечание. Отрицательные значения лет обозначают годы до нашей эры.
let task07Btn = document.getElementById("task07Btn")
let task07Result = document.getElementById("task07Result")
task07Btn.addEventListener("click", function () {
let firstdata = document.getElementById('dateFirst').value;
let seconddata = document.getElementById('dateSecond').value;
task07Result.innerHTML = `${(new Date(firstdata).getTime() - new Date(seconddata).getTime())/1000/60/60/24}`
})
<table>
<td></td>
<td>
<input type="date" id="dateFirst">
<input type="date" id="dateSecond">
<button id="task07Btn">Go</button>
</td>
<td>
<div id="task07Result"></div>
</td>
</tr>
</table>
Ответы (1 шт):
Автор решения: Poul WWJD
→ Ссылка
Можно воспользоваться методом getFullYear() для объекта класса Date и отнять начальный год эпохи UNIX, в данном случае JS.
Насколько мне известно, годы до н.э. встроенный календарь не даст установить.
task07Btn.addEventListener("click", function () {
var firstdata = document.getElementById('dateFirst').value;
var seconddata = document.getElementById('dateSecond').value;
if (firstdata<seconddata) {
var fullyears = (-1970) + new Date(( new Date(seconddata) - new Date(firstdata) )).getFullYear() ;
task07Result.innerHTML = fullyears;
} else {
alert('Некорректно выбрана дата.'); return false;
}
})
<table>
<td></td>
<td>
<input type="date" id="dateFirst">
<input type="date" id="dateSecond">
<button id="task07Btn">Go</button>
</td>
<td>
<div id="task07Result"></div>
</td>
</tr>
</table>