如何在javascript中更改以前的日期和当前日期?
我有一个应用程序,我必须显示两个日期之间的记录,当前日期和前一日期。 默认情况下,将显示6个月的数据(这是我的要求的一部分),但我希望在运行时更改以前的日期(我从UI传递它),并且我不希望选择将来的日期作为当前日期。 下面是我的代码,请帮我解决这个问题,谢谢如何在javascript中更改以前的日期和当前日期?,javascript,sql,Javascript,Sql,我有一个应用程序,我必须显示两个日期之间的记录,当前日期和前一日期。 默认情况下,将显示6个月的数据(这是我的要求的一部分),但我希望在运行时更改以前的日期(我从UI传递它),并且我不希望选择将来的日期作为当前日期。 下面是我的代码,请帮我解决这个问题,谢谢 // ------------------- function to change dates --------------------- function changeDates(){ v
// ------------------- function to change dates ---------------------
function changeDates(){
var date = new Date();
var cur_date = new Date(date.getFullYear(), date.getMonth() + 1, 0);
cur_date = cur_date.toString("yyyy-MM-dd");
cur_date = cur_date.trim();
var pre_date = new Date(date.getFullYear(), date.getMonth() - 5, 1);
pre_date = pre_date.toString("yyyy-MM-dd");
pre_date = pre_date.trim();
var xmlhttp;
xmlhttp.open("GET","dashboard/Ajax/change_date.jsp?pre_date="+pre_date+"&cur_date="+cur_date,true);
xmlhttp.send();
}从我所看到的,这里有两个问题:1)您当前的日期被创建为未来的日期,2)您希望能够覆盖默认的pre_date值 首先,当您调用日期构造函数时,您将添加一个月。这是没有必要的。我会通读上的MDN 其次,该函数不尝试更改pre_date的值以覆盖默认值。让函数接受覆盖日期
function changeDates(previousDate)
然后,如果传递了日期,则重写(您可能希望进一步验证该日期):
另外,我还要补充一点,toString()方法不接受任何参数,也不需要修剪结果。那么您在哪里尝试实现输入之类的东西呢?当我更改日期时,call_sts_ps_day_dt2和3只是启用模糊函数,所以为什么它们是问题的一部分?我将其包括在内,因为如果它是错误的,可能需要更正。如果它们看起来毫无意义,你可以忽略它。这个问题的全部目的是,如果我更改了日期,那么这些更改后的日期应该传递到ajax页面以检索查询,那么您面临的问题是什么??
function changeDates(previousDate)
var pre_date = previousDate ?
previousDate :
new Date(date.getFullYear(), date.getMonth() - 5, 1).toString();