如何在几天内以两种日期(表格形式)取得不同

时间:2017-09-02 17:38:16

标签: javascript html date

我有这个form代码来区分html中<script type="text/javascript"> function dueDate(){ var date1=document.getElementById("date1").value; var date2=document.getElementById("date2").value; var diffDays = parseInt((date2 - date1) / (1000 * 60 * 60 * 24)); alert(diffDays) } </script> 标记内的两个日期

html

这是我的form代码(两个日期选择器位于<div class="login-form"> <form name="login" method="POST"> <table cellspacing="10"> <tr> <td id="text">Book Return Due Date:</td> <td><input id="date1" type="date" name="username"></td> </tr> <tr> <td id="text">Current Date:</td> <td><input id="date2" type="date" name="password"></td> </tr> <tr> <td id="text"><input id="button1" type="submit" value="Check for Due" onclick="dueDate()"></td> <td><input id="button2" type="reset" value="Reset"></td> </tr> </table> </form> </div> 内)

{{1}}

但我收到的警告是“NaN”。请帮帮我

3 个答案:

答案 0 :(得分:3)

Javascript有Date()对象来操作日期,你可以试试这个:

var date1 = new Date(document.getElementById("date1").value);
var date2= new Date(document.getElementById("date2").value);
var diffDays = Math.round((date2.getTime() - date1.getTime()) / 1000 / 60 / 60 / 24); 

答案 1 :(得分:1)

您需要日期对象,而不仅仅是从输入返回的字符串值,才能从另一个中减去一个日期

&#13;
&#13;
document.getElementById('button1').addEventListener('click', dueDate);

function dueDate() {
  var date1 = document.getElementById("date1").value;
  var date2 = document.getElementById("date2").value;
  var obj1  = new Date(date1);
  var obj2  = new Date(date2);
  
  
  var diffDays = (obj2 - obj1) / (1000 * 60 * 60 * 24);
  alert(diffDays)
}
&#13;
<div class="login-form">
  <form name="login" method="POST">
    <table cellspacing="10">
      <tr>
        <td id="text">Book Return Due Date:</td>
        <td>
          <input id="date1" type="date" name="username">
        </td>
      </tr>
      <tr>
        <td id="text">Current Date:</td>
        <td>
          <input id="date2" type="date" name="password">
        </td>
      </tr>
      <tr>
        <td id="text">
          <input id="button1" type="submit" value="Check for Due">
        </td>
        <td>
          <input id="button2" type="reset" value="Reset">
        </td>
      </tr>

    </table>
  </form>
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

当你从你的html获得价值时,它的类型是字符串,所以你应该解析它到目前为止。当您尝试减去两个字符串时,它返回NAN。查看here的Date.parse方法。