Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
查找未来30天(javascript)_Javascript_Date - Fatal编程技术网

查找未来30天(javascript)

查找未来30天(javascript),javascript,date,Javascript,Date,我正在寻找一个javascript函数,它将采取一个日期值,并告诉我未来30天的值 例如,如果当前日期为2011年8月5日 我希望它列出在此之后的所有30天: 2011年8月5日 2011年8月6日 2011年9月3日 该函数基本上负责月日(30、31或28等) 这是我能轻松解决的问题吗? 非常感谢您的帮助。您可以使用循环并编写新日期(年、月-1、日+i) JavascriptDate构造函数会将超出范围的日期规范化为其正确的值,因此这将完全满足您的要求。 您需要编写month-1,因为月

我正在寻找一个javascript函数,它将采取一个日期值,并告诉我未来30天的值

例如,如果当前日期为2011年8月5日 我希望它列出在此之后的所有30天:

  • 2011年8月5日
  • 2011年8月6日
  • 2011年9月3日
该函数基本上负责月日(30、31或28等)

这是我能轻松解决的问题吗?
非常感谢您的帮助。

您可以使用
循环并编写
新日期(年、月-1、日+i)

Javascript
Date
构造函数会将超出范围的日期规范化为其正确的值,因此这将完全满足您的要求。
您需要编写
month-1
,因为月份是以零为基础的

以下是此操作的代码:

var today=新日期();
var year=today.getFullYear();
var month=today.getMonth();
var date=today.getDate();

对于(var i=0;i快速回答:使用。例如,你可以做
新日期(“今天+30天”);
并且它会理解:]这是一个非常棒的库,我在很多约会功夫项目中使用它…

如果我正确理解你,那么你可能会想要这样的东西:

var nextXDays = function (days) {
    var today = new Date();
    var days = [];
    var day_length = 1000 * 60 * 60 * 24; //the length of a day in milliseconds
    for(var i = 0; i < days; i++) {
        days.push(today + day_length*i);
    }
}
var days = nextXDays(30); //return an array of the dates
var nextXDays=函数(天){
var today=新日期();
风险值天数=[];
var day_length=1000*60*60*24;//一天的长度(毫秒)
对于(变量i=0;i<天;i++){
推送天数(今天+天数*i);
}
}
var days=nextXDays(30);//返回日期数组
然后,因为您有一个
Date
对象数组,所以您可以用任何喜欢的格式显示它们。

var Date=new Date();
var date=new Date();
document.write(date);
document.write("<br>");

for (var x=0;x<40;++x)
{
  var d=date.getDate();
  date.setDate(d+1);
  document.write(date);
  document.write("<br>");
}
文件。书写(日期); 文件。写(“
”);
对于(var x=0;xThanks,非常有用:)这正是我想要的。这不起作用,你需要的不是新的日期(),而是日期。现在()当你做加法时,你需要新的日期(今天+日长*I)
var date=new Date();
document.write(date);
document.write("<br>");

for (var x=0;x<40;++x)
{
  var d=date.getDate();
  date.setDate(d+1);
  document.write(date);
  document.write("<br>");
}