Я работаю над калькулятором прошедшего времени, когда пользователь вводит месяц, день и год. По их вводу и текущей дате я хочу рассчитать, сколько дней между ними, а затем отобразить, сколько лет, месяцев и дней прошло. Я начал с создания формы с тремя входными значениями «месяц», «день» и «год». Затем я начал по сценарию:
function timeElapsed() {
var timeMonth = document.getElementById("month");
var timeDay = document.getElementById("day");
var timeYear = document.getElementById("year");
var currentDate = new Date();
var elapsed =
document.getElementById("timeElapsed").innerHTML = elapsed;
}
//Event Listener
var submitButton= document.getElementById("sButton");
if (submitButton.addEventListener) {
submitButton.addEventListener("click", timeElapsed, false);
} else if (submitButton.attachEvent) {
submitButton.attachEvent("onclick", timeElapsed);
}
Очевидно, как вы можете сказать, я как бы остановился, потому что я в тупике, куда идти дальше. Это лаборатория в школе для меня, и я просто хочу понять, как это сделать. Мой учитель упомянул "Обратите внимание, что ваша программа должна включать код для преобразования значений дней, превышающих 31, в месяцы, а месяцев, превышающих 12, в годы". и я на самом деле совершенно сбит с толку, но понимаю, что он имеет в виду. . Это просто понимание того, как на самом деле это сделать. Это веб-класс, и его очень сложно понять только по учебнику. Я немного посмотрел в Интернете, но я не нашел ничего полезного для моей ситуации. Если вы можете помочь мне, большое спасибо.
new Date(year, month-1, day)
, а затем получить разницу, как показано здесь: Преобразование даты из DD-MM-YYYY в DD/MM/YYYY в Javascript и поиск разницы я>а>. Обратите внимание, что вам, вероятно, следует обнулить часы для currentDate, а затем округлить до целых дней, чтобы учесть возможные проблемы с переходом на летнее время (или использовать все методы UTC). - person RobG   schedule 29.03.2017