我想添加一个我从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
谢谢
答案 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="" />