现在这个代码适用于明天和下个月 - 周末使用的工作,除了现在接近月底导致错误。我的startdate设置为8/31/12,enddate为8/34/12(在Sql中将其转换为DateTime时,会显示错误。)下周末的日期时间在JavaScript返回无效日期
我成功地在数学中添加一天,并且要添加一个月,但是在下个月增加几天的时间就会中断。我想我明白为什么这会发生,它是获得日期 - “29”把它变成int然后加上 - 我想我会在12月份的“下个月”遇到同样的问题。
我的问题是什么是正确的方式(或任何工作方式)将日期添加到JavaScript日期,它理解月份的日期。
var d = new Date();
var startdate;
var enddate;
if ($('._tomorrow').attr("checked") == "checked") {
startdate = [d.getMonth() + 1, d.getDate() + 1, d.getFullYear()].join('/');
enddate = [d.getMonth() + 1, d.getDate() + 2, d.getFullYear()].join('/');
}
if ($('._weekend').attr("checked") == "checked") {
startdate = [d.getMonth() + 1, d.getDate() + 6 - d.getDay(), d.getFullYear()].join('/');
enddate = [d.getMonth() + 1, (d.getDate() + 6 - d.getDay()) + 2, d.getFullYear()].join('/');
}
if ($('._nextmonth').attr("checked") == "checked") {
startdate = [d.getMonth() + 2, 1, d.getFullYear()].join('/');
enddate = [d.getMonth() + 2, 29 , d.getFullYear()].join('/');
}
你的工作也很好,几乎一样,Marc B更快 –
我认为Marc的答案是错误的 - 它试图产生一个月的特定日期在未来,不是包含整个下一个整月(即从1日开始)的范围。 – Alnitak
是的,你得到它的权利 –