[英]Find next 30 days (javascript)
我正在寻找一个javascript函数,它将采用一个日期值并告诉我接下来的30天值。
例如,如果当前日期是2011年8月5日,我希望它在此之后的所有30天内列出:
该功能基本上处理月份日(30或31或28等)
这是我能轻易解决的问题吗? 非常感谢你的帮助。
您可以使用for
循环并编写new Date(year, month - 1, day + i)
。
Javascript Date
构造函数会将超出范围的日期规范化为正确的值,因此这将完全符合您的要求。
你需要写month - 1
因为月份是从零开始的。
这是这个代码(JSFiddle) :
var today = new Date();
var year = today.getFullYear();
var month = today.getMonth();
var date = today.getDate();
for(var i=0; i<30; i++){
var day=new Date(year, month - 1, date + i);
console.log(day);
}
快速回答:使用Date.js
例如,你可以做new Date("today + 30 days");
它会理解:]这是一个非常棒的库,我在日期功夫的很多项目中使用...
如果我正确地理解你,那么你可能想要这样的东西:
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
然后,由于您有一个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>");
}
您想使用内置日期功能。 不要尝试添加24 * 60 * 60 * 1000毫秒才能到达第二天。 这假设每天都是24小时,这是不正确的。 考虑夏令时开始和结束的日子。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.