首頁 >web前端 >js教程 >詳解JavaScript對Date物件的操作問題(產生一個倒數7天的陣列)_javascript技巧

詳解JavaScript對Date物件的操作問題(產生一個倒數7天的陣列)_javascript技巧

WBOY
WBOY原創
2016-05-16 15:37:301480瀏覽

問題描述:

使用JavaScript產生一個倒數7天的陣列。

例如今天是10月1號,產生的陣列是["9月25號","9月26號","9月27號","9月28號","9月29號" ,"9月30號","10月1號"]。

這個難點就是需要判斷這個月(可能還需要上一個月份)是30天還是31天,而且還有瑞年的2月28天或29天。

解答思路:

不需要那麼複雜,在js中非常簡單,因為js的date物件是可以參與數學運算的! ! !看下面的程式碼:

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); // 这个是关键!!!减去一天的毫秒数效果就是把日期往前推一天
 i++;
}
console.log(s);

結果如圖:

如果需求不是指定某一天的時間,而是根據系統當前的時間,來計算也是可以的。

根據目前系統時間,來計算這個倒數7天的陣列:

var now = new Date(); // 這個演算法能自動處理閏年和非閏年。 2012年是閏年,所以2月有29號
var s = '';
var i = 0;
while (i    
    s = now.getFullYear() '/' (now.getMonth() 1) '/' now.getDate() 'n';
    now = new Date(now - 24 * 60 * 60 * 1000); // 這個是關鍵! ! !減去一天的毫秒數效果就是把日期往前推一天
    i ;
}
console.log(s);

結果如圖:

以上就是本文的全部內容,希望對大家學習js date物件操作有所幫助。下篇文章為大家介紹有關js的日期格式化問題,詳細了解請點選javascript Date format

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn