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

How to get number of day between two text box in javascript?

本文关键字:之间 文本 两个 何获取 获取 javascript      更新时间:2023-09-26

我想获得两个文本框之间的天数,但如何使用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>

如果您使用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>