添加日期javascript

时间:2016-03-21 15:55:55

标签: javascript datetime

我想添加一个我从textbox获得的日期。我尝试了下面的代码,但它没有用

    function get_renew_date ()
    {
        var chkautorenew=document.getElementById("MainContent_chk_Isauto_Renew");
        if (chkautorenew.checked) {
            end_date = document.getElementById("MainContent_txtContract_End_date").value;
            renew_date = document.getElementById("MainContent_txtContract_Renew").value;
            dat = new Date(end_date.toDateString());
            //renew_date=dat.addDays(1);
            alert(end_date.toDateString());
        }
     }

我也担心客户日期格式和当月的最后一天,我怎么能确定在添加一天之后它不会像这个32/03/2016

谢谢

3 个答案:

答案 0 :(得分:2)

试试这个



var date1 = new Date("03/31/2016");
var next_date = new Date(date1.getTime() + 86400000);
alert(next_date.toLocaleDateString());




答案 1 :(得分:0)

设置日期的行为是内部的,因此如果您将日期设置为“日期”+ 1,则会在需要时自动影响数月甚至数年。

Date对象也是可变的,这意味着这样就足够了:

dat = new Date(end_date.toDateString());
dat.setDate(dat.getDate() + 1);

答案 2 :(得分:0)

您可以通过将86,400,000毫秒(1天)添加到当前日期来添加一天。

function addDays(date, numOfDays) {
  date.setTime(date.getTime() + (86400000 * numOfDays));
}

您可以支持其他日期间隔:

function dateAdd(date, interval, units) {
  var d = new Date(date);
  switch (interval.toUpperCase()) {
    case 'YEAR'   :  d.setFullYear ( d.getFullYear() + units           ); break;
    case 'QUARTER':  d.setMonth    ( d.getMonth()    + units * 3       ); break;
    case 'MONTH'  :  d.setMonth    ( d.getMonth()    + units           ); break;
    case 'WEEK'   :  d.setDate     ( d.getDate()     + units * 7       ); break;
    case 'DAY'    :  d.setDate     ( d.getDate()     + units           ); break;
    case 'HOUR'   :  d.setTime     ( d.getTime()     + units * 3600000 ); break;
    case 'MINUTE' :  d.setTime     ( d.getTime()     + units * 60000   ); break;
    case 'SECOND' :  d.setTime     ( d.getTime()     + units * 1000    ); break;
    default       :  d             = undefined                          ; break;
  }
  return d;
}

function parseDate(dateString, delimiter) {
  var parts = dateString.split(delimiter).map(function(v) {
    return parseInt(v, 10);
  });
  return new Date(parts[2], parts[1], parts[0]);
}

function formatDate(date, delimiter) {
  return [ date.getDate(), date.getMonth(), date.getFullYear() ].map(function(v) {
    return v < 10 ? ('0' + v) : v;
  }).join(delimiter);
}

function get_renew_date() {
  var chkautorenew = document.getElementById("MainContent_chk_Isauto_Renew");
  if (chkautorenew.checked) {
    end_date = document.getElementById("MainContent_txtContract_End_date").value;
    renew_date = formatDate(dateAdd(parseDate(end_date, '/'), 'day', 1), '/');
    document.getElementById("MainContent_txtContract_Renew").value = renew_date;
  }
}

get_renew_date();
<input type="checkbox" id="MainContent_chk_Isauto_Renew" checked />

<input type="text" id="MainContent_txtContract_End_date" value="31/03/2016" />
<input type="text" id="MainContent_txtContract_Renew" value="" />