如何获取javascript中两个文本框之间的天数?

时间:2015-02-06 03:03:52

标签: javascript

我想获得两个文本框之间的天数,但是如何使用JavaScript将日期转换为整数?

<script type="text/javascript">
function calc(a,b,sub) {
    var one = parseInt(a);
    if (isNaN(one)) {
        alert('Invalid entry: '+a);
        one=0;
    }
    var two = parseInt(document.getElementById(b).value);
    if (isNaN(two)) {
        alert('Invalid entry: '+b);
        two=0;
    }
    document.getElementById(sub).value =two-one;
}
</script>

HTML

<input type="text" name="Itm_1" id="datepicker1" onchange="calc(Date.parse(this.value),'datepicker1','result')" required="" style="width:205px;" placeholder="<?php echo Date(" d/m/Y ");?>"/>
<input type="text" name="Itm_2" id="datepicker2" onchange="calc(Date.parse(this.value),'datepicker2','result')"  required="" style="width:205px;" placeholder="<?php echo Date(" d/m/Y ");?>"/>
<textarea name="Itm_3" id="result" id="result" cols="30" rows="5" style="height:50px;" value="" readonly=""></textarea>

1 个答案:

答案 0 :(得分:0)

如果您使用Date对象,则以下网站声称您可以使用parse()方法获取自1970年1月1日午夜以来的毫秒数。如果你想要以天为单位的整数,你可以除以(1000 * 60 * 60 * 24):

http://www.w3schools.com/jsref/jsref_obj_date.asp

如果我理解要正确执行的操作,请注意以下内容(请注意对HTML输入的更改)。

<script type="text/javascript">
function calc(a,b,sub) {
    var one = (Date.parse(document.getElementById(a).value)/(1000*60*60*24));
    if (isNaN(one)) {
          alert('Invalid entry: '+a);
          one=0;
    }
    var two = (Date.parse(document.getElementById(b).value)/(1000*60*60*24));
    if (isNaN(two)) {
        alert('Invalid entry: '+b);
        two=0;
    }
    document.getElementById(sub).value =two-one;
}
</script>

<input type="text" name="Itm_1" id="datepicker1" onchange="calc('datepicker1','datepicker2','result')" required="" style="width:205px;" />
<input type="text" name="Itm_2" id="datepicker2" onchange="calc('datepicker1','datepicker2','result')"  required="" style="width:205px;" />
<textarea name="Itm_3" id="result" id="result" cols="30" rows="5" style="height:50px;" value="" readonly=""></textarea>