詳解JavaScript對Date對象的操作問題(產生一個倒數7天的數組)_javascript技巧

來源:互聯網
上載者:User

問題描述:

使用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 < 7) {
   
    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。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.