我有一个表单,它有两个带有日期选择器的输入字段(在 jquery ui 的帮助下)。一个询问入住日期,另一个询问退房日期。我想计算这两个日期之间的天数.我是javascript的初学者。所以有人可以帮助我吗?
问问题
2846 次
2 回答
0
使用 unix 时间戳。当您使用时间时,它是通用工具:
var a = new Date(2012,11,10);
var b = new Date(2012,11,12);
var dt = (b.getTime() - a.getTime())/(24*3600*1000) //2
于 2012-11-13T13:03:15.743 回答
0
您必须首先获取此类输入字段的值,例如:
var v1 = document.getElementById('input1Id').value;
var v2 = document.getElementById('input2Id').value;
那么你必须实例化两个新的 Javascript Date 对象:
var parts1 = v1.split('/');
var parts2 = v2.split('/');
// this will split your string into date parts, eg. 11/30/2012 would result as an array ['11','30','2012'];
var date1 = new Date(parts1[2],parts1[0],parts1[1]);
var date2 = new Date(parts2[2],parts2[0],parts2[1]);
// remember to check the index of array items considering your date format
最后,您只需从另一个日期中减去一个日期即可获得天数差异:
var difference = Math.Abs(date1 - date2);
difference = parseInt(difference / 86400000);
//86400000 are the milliseconds in one day. Parsing to int will round the day - eg.5,4 days results as 5 day
编辑:当然,您可以通过他的 id 属性引用您的 html 元素
<input type="text" id="myTextbox">
---
var txb = document.getElementById('myTextbox');
// do anything else to your txb here, if u like
txb.value = difference;
而已!
于 2012-11-13T13:12:02.453 回答