我对 JavaScript 很陌生,但我遇到了一个问题。我有一个带有 2 个类型的输入元素的 HTMl5-Page 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,或者我在这里没有得到线索?