Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要用JavaScript获取任意两个日期之间的所有日期_Javascript - Fatal编程技术网

我需要用JavaScript获取任意两个日期之间的所有日期

我需要用JavaScript获取任意两个日期之间的所有日期,javascript,Javascript,使用此代码,我得到的日期不包括开始日期 var startdate = new Date(""); var enddate = new Date(""); while (startdate < enddate) { startdate.setDate(startdate.getDate() + 1); dates.push(new Date(startdate).format("mm/dd/yyyy")); } var startdate=新日期(“”); var enddat

使用此代码,我得到的日期不包括开始日期

var startdate = new Date("");
var enddate = new Date("");

while (startdate < enddate) {
  startdate.setDate(startdate.getDate() + 1);
  dates.push(new Date(startdate).format("mm/dd/yyyy"));
}
var startdate=新日期(“”);
var enddate=新日期(“”);
while(开始日期<结束日期){
startdate.setDate(startdate.getDate()+1);
推送日期(新日期(startdate).format(“mm/dd/yyyy”);
}

您不能简单地使用不存在的format函数格式化javascript日期。您需要拆分日期、月份、年份和加入。在这里,它可能有助于-

var startdate = new Date();
var enddate = new Date("2019, 10, 23");

while (startdate < enddate) {
  startdate.setDate(startdate.getDate() + 1);
  dates.push(startdate.getMonth()+1+"/"+startdate.getDate()+"/"+startdate.getFullYear());
}
var startdate=新日期();
var enddate=新日期(“2019年10月23日”);
while(开始日期<结束日期){
startdate.setDate(startdate.getDate()+1);
dates.push(startdate.getMonth()+1+“/”+startdate.getDate()+“/”+startdate.getFullYear());
}
您必须将moth增加1
startdate.getMonth()+1
,因为在JS中,月份从0开始


考虑使用具有很多功能的工具。

您应该将
新日期(startdate)
替换为
新日期(startdate.getTime())
,以避免JS错误。但是,您不能简单地使用
format()
格式化JS日期对象,因为此函数不存在,您必须自己提取年、月、日。如果要这样做,请注意月份值从零开始。


请考虑使用像Moment.js这样的库,操作日期、时间和持续时间非常方便。< /P>在声明时添加“<代码>启动日期< /代码>:<代码> var日期= [新日期(开始日期)];<代码>