使用Java整数将天添加到特定日期

时间:2018-07-08 04:44:57

标签: javascript html date

这是我的以下代码。我正在尝试在我的代码中这样做:

input = 2014-02-09 + 5 days,应该给出2014-02-14,但我得到的结果是:2019-02-09

<!DOCTYPE html>
<html>
  <body>
    <input type="date" id="myDate" value="2014-02-09">
    <input type="number" id="number" value="5">
    <button onclick="myFunction()"> Try it </button>

    <p id="demo"></p>
    <p id="demo2"></p>
    <p id="demo3"></p>

    <script>
      function myFunction() 
      {
        var x = document.getElementById("myDate").value;
        document.getElementById("demo").innerHTML = x;
        var y = document.getElementById("number").value;
        document.getElementById("demo2").innerHTML = y;
        var d = parseInt(x) + parseInt(y);
        document.getElementById("demo3").innerHTML = d;
      }
    </script>
  </body>
</html>

如何获得所需的结果:2014-02-09 + 5 days = 2014-02-14

1 个答案:

答案 0 :(得分:0)

如果我没有误解您的要求,这就是您想要的-只需在日期选择器中的选定日期添加一些数字即可。

<!DOCTYPE html>
<html>

<body>

  <p>Click the button to display the date after changing the day of the month.</p>
  <input type="date" id="myDate" value="2014-02-09">
  <input type="number" id="number" value="5">
  <button onclick="myFunction()">Try it</button>

  <p id="demo"></p>
  <p id="demo2"></p>
  <p id="demo3"></p>

  <script>
    Date.prototype.addDays = function(days) {
      this.setDate(this.getDate() + parseInt(days));
      return this;
    };

    function myFunction() {
      var x = document.getElementById("myDate").value;
      document.getElementById("demo").innerHTML = x;
      var y = document.getElementById("number").value;
      document.getElementById("demo2").innerHTML = y;
      var newDate = new Date(x).addDays(parseInt(y));
      document.getElementById("demo3").innerHTML = newDate.toISOString().substr(0, 10);
    }
  </script>

</body>

</html>