【发布时间】:2013-08-03 23:20:08
【问题描述】:
我对 JavaScript 很陌生,但我遇到了一个问题。
我有一个 HTMl5 页面,其中包含 2 个 time 类型的输入元素。
我想得到这两个时间之间的差异,所以 11:15 和 12:00 会给我 0:45。
我认为 HTML 非常简单:
<ul>
<li>
<label>Anfang: </label>
</li>
<li>
<input type="time" id="begin" required="true">
</li>
</ul>
<ul>
<li>
<label>Ende: </label>
</li>
<li>
<input type="time" id="end" required="true"></li>
</ul>
我猜这里没什么特别的。在我的 JavaScript 中,我将一个侦听器附加到一个按钮,该按钮获取这两个字段的值并将其传递给以下函数以创建超出时间的日期对象:
function timeToDate(input) {
var hours = input.substring(0, 2);
var min = input.substring(3, 5);
var date = new Date();
date.setHours(hours);
date.setMinutes(min);
return date;
}
为了区别,我这样做:
var beginDate = timeToDate(begin);
var endDate = timeToDate(end);
var diff = endDate.getTime() - beginDate.getTime();
var b = new Date();
b.setTime(diff);
console.log(b.getHours());
那么,11:00 (beginDate) 和 12:00 (endDate) 的控制台输出是 2,但它应该是 1,还是我没有得到线索? p>
【问题讨论】:
-
to != too,对不起语法巡逻,但我忍不住。
-
对不起,英语不是我的第一语言。不过,你是对的 - 只是一个错字!
标签: javascript html date