【发布时间】:2018-10-19 02:13:54
【问题描述】:
如果我有一个允许某人选择任何开始日期 (MM/DD/YYY) 和任何结束日期 (MM/DD/YYYY) 的表单,我将如何计算这两个选定日期之间的差异?
我在这里做错了什么?感谢您的所有帮助。
<script>
var date1 = new Date();
var date2 = new Date();
var diff = date2.getTime() - date1.getTime();
var msec = diff;
var hh = Math.floor(msec / 1000 / 60 / 60);
msec -= hh * 1000 * 60 * 60;
var mm = Math.floor(msec / 1000 / 60);
msec -= mm * 1000 * 60;
var ss = Math.floor(msec / 1000);
msec -= ss * 1000;
function timeElapsed() {
var text = hh + ":" + mm + ":" + ss;
document.getElementById("elapse").innerHTML = text;
}
</script>
【问题讨论】:
-
您做错的是 date1 和 date2 可能具有完全相同的时间值,因此差异为 0ms。尝试传递一些参数来创建不同时刻的日期,例如
new Date(2018,9,19). -
@RobG 谢谢。如果用户是输入他们选择的日期的人,这仍然有效吗?
-
@RizzaEsguerra——是的。
标签: javascript html function elapsedtime