【发布时间】:2017-03-29 04:40:16
【问题描述】:
如果用户输入月份、日期和年份,我正在开发一个经过时间的计算器。根据他们的输入和当前日期,我想计算两者之间的天数,然后显示已经过去了多少年、几个月和几天。我首先制作了一个包含“月”、“日”和“年”三个输入值的表单。然后我开始编写脚本:
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)创建一个日期开始,然后得到如下所示的差异:Converting a date from DD-MM-YYYY to DD/MM/YYYY in Javascript and finding the difference。请注意,您可能应该将 currentDate 的小时数归零,然后四舍五入以适应可能的夏令时问题(或使用所有 UTC 方法)。
标签: javascript html forms date elapsedtime