我在尋找一個javascript函數,它將取一個日期值並告訴我接下來30天的值。查找接下來30天(javascript)
例如,如果當前日期是5 2011年8月 我希望它所有30天列出在此之後:
- 2011年8月6日
- 8月5日.... 。
- 2011年9月3日
功能基本上負責的月份的日(30或31或28等)
這是我能輕易解決的問題嗎? 非常感謝您的幫助。
我在尋找一個javascript函數,它將取一個日期值並告訴我接下來30天的值。查找接下來30天(javascript)
例如,如果當前日期是5 2011年8月 我希望它所有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
對象的數組,你可以在任何你喜歡的格式顯示出來。
這不起作用,而不是新的Date(),你需要Date.now(),當你添加你需要新的日期(今天+ day_length *我) – 2014-04-29 15:05:24
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小時,這是不正確的。考慮夏令時開始和結束的日子。
謝謝,非常有用:)這就是我正在尋找的。 – ssdesign 2011-05-19 17:32:41