詳解JavaScript對Date對象的操作問題(生成一個倒數(shù)7天的數(shù)組)
問題描述:
使用JavaScript生成一個倒數(shù)7天的數(shù)組。
比如今天是10月1號,生成的數(shù)組是["9月25號","9月26號","9月27號","9月28號","9月29號","9月30號","10月1號"]。
這個難點就是需要判斷這個月份(可能還需要上一個月份)是30天還是31天,而且還有瑞年的2月28天或者29天。
解答思路:
不需要那么復雜,在js中非常簡單,因為js的date對象是可以參與數(shù)學運算的?。。】聪旅娴拇a:
var now = new Date('2012/3/2 12:00:00'); // 這個算法能自動處理閏年和非閏年。2012年是閏年,所以2月有29號
var s = '';
var i = 0;
while (i < 7) {
s += now.getFullYear() + '/' + (now.getMonth() + 1) + '/' + now.getDate() + '\n';
now = new Date(now - 24 * 60 * 60 * 1000); // 這個是關鍵?。?!減去一天的毫秒數(shù)效果就是把日期往前推一天
i++;
}
console.log(s);
結果如圖:

如果需求不是指定某一天的時間,而是根據(jù)系統(tǒng)當前的時間,來計算也是可以的。
根據(jù)當前系統(tǒng)時間,來計算這個倒數(shù)7天的數(shù)組:
var now = new Date(); // 這個算法能自動處理閏年和非閏年。2012年是閏年,所以2月有29號
var s = '';
var i = 0;
while (i < 7) {
s += now.getFullYear() + '/' + (now.getMonth() + 1) + '/' + now.getDate() + '\n';
now = new Date(now - 24 * 60 * 60 * 1000); // 這個是關鍵?。?!減去一天的毫秒數(shù)效果就是把日期往前推一天
i++;
}
console.log(s);
結果如圖所示:

以上就是本文的全部內容,希望對大家學習js date對象操作有所幫助。下篇文章給大家介紹有關js的日期格式化問題,詳細了解請點擊javascript Date format。
相關文章
echarts如何實現(xiàn)動態(tài)曲線圖(多條曲線)
這篇文章主要介紹了echarts如何實現(xiàn)動態(tài)曲線圖(多條曲線),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
JavaScript實現(xiàn)重力下落與彈性效果的方法分析
這篇文章主要介紹了JavaScript實現(xiàn)重力下落與彈性效果的方法,結合實例形式分析了javascript重力下落及彈性效果的原理與具體實現(xiàn)技巧,需要的朋友可以參考下2017-12-12
使用Require.js封裝原生js輪播圖的實現(xiàn)代碼
這篇文章主要介紹了使用Require.js封裝原生js輪播圖的實現(xiàn)代碼,需要的朋友可以參考下2017-06-06

