詳解JavaScript對(duì)Date對(duì)象的操作問(wèn)題(生成一個(gè)倒數(shù)7天的數(shù)組)
問(wèn)題描述:
使用JavaScript生成一個(gè)倒數(shù)7天的數(shù)組。
比如今天是10月1號(hào),生成的數(shù)組是["9月25號(hào)","9月26號(hào)","9月27號(hào)","9月28號(hào)","9月29號(hào)","9月30號(hào)","10月1號(hào)"]。
這個(gè)難點(diǎn)就是需要判斷這個(gè)月份(可能還需要上一個(gè)月份)是30天還是31天,而且還有瑞年的2月28天或者29天。
解答思路:
不需要那么復(fù)雜,在js中非常簡(jiǎn)單,因?yàn)閖s的date對(duì)象是可以參與數(shù)學(xué)運(yùn)算的?。?!看下面的代碼:
var now = new Date('2012/3/2 12:00:00'); // 這個(gè)算法能自動(dòng)處理閏年和非閏年。2012年是閏年,所以2月有29號(hào)
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); // 這個(gè)是關(guān)鍵!??!減去一天的毫秒數(shù)效果就是把日期往前推一天
i++;
}
console.log(s);
結(jié)果如圖:

如果需求不是指定某一天的時(shí)間,而是根據(jù)系統(tǒng)當(dāng)前的時(shí)間,來(lái)計(jì)算也是可以的。
根據(jù)當(dāng)前系統(tǒng)時(shí)間,來(lái)計(jì)算這個(gè)倒數(shù)7天的數(shù)組:
var now = new Date(); // 這個(gè)算法能自動(dòng)處理閏年和非閏年。2012年是閏年,所以2月有29號(hào)
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); // 這個(gè)是關(guān)鍵!??!減去一天的毫秒數(shù)效果就是把日期往前推一天
i++;
}
console.log(s);
結(jié)果如圖所示:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)js date對(duì)象操作有所幫助。下篇文章給大家介紹有關(guān)js的日期格式化問(wèn)題,詳細(xì)了解請(qǐng)點(diǎn)擊javascript Date format。
相關(guān)文章
使用Browserify來(lái)實(shí)現(xiàn)CommonJS的瀏覽器加載方法
下面小編就為大家?guī)?lái)一篇使用Browserify來(lái)實(shí)現(xiàn)CommonJS的瀏覽器加載方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
JS中style.display和style.visibility的區(qū)別實(shí)例說(shuō)明
下面的例子說(shuō)明了這種區(qū)別:在這個(gè)例子中,divContent1和divContent2隱藏的時(shí)候用的是style.display=none,這時(shí)候,后面的div會(huì)向上移動(dòng),占據(jù)已經(jīng)隱藏的div的空間。divContent3和divContent4用的是style.visibility=hidden來(lái)隱藏,但是其隱藏后仍然占據(jù)原來(lái)的空間2013-03-03
javascript 閉包詳解及簡(jiǎn)單實(shí)例應(yīng)用
這篇文章主要介紹了javascript 閉包詳解及應(yīng)用的相關(guān)資料,需要的朋友可以參考下2016-12-12
js實(shí)現(xiàn)鍵盤操作實(shí)現(xiàn)div的移動(dòng)或改變的原理及代碼
實(shí)現(xiàn)鍵盤操作實(shí)現(xiàn)div的移動(dòng),最關(guān)鍵的一點(diǎn):獲取div對(duì)象,下面有個(gè)不錯(cuò)的示例,大家可以參考下2014-06-06
javascript數(shù)組去重3種方法的性能測(cè)試與比較
面試題中有一題數(shù)組去重,首先想到的是對(duì)象存鍵值的方法可是遇到不同類型又能轉(zhuǎn)換成同樣的字符串的就完了接下來(lái)為大家介紹下雙重循環(huán)/存鍵值和類型實(shí)現(xiàn)去重,感興趣的各位可以參考下哈2013-03-03
javascript實(shí)現(xiàn)類似于新浪微博搜索框彈出效果的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)類似于新浪微博搜索框彈出效果的方法,涉及javascript彈出搜索框的相關(guān)實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
理解JavaScript的caller,callee,call,apply
文章挺好的,雖然我用的是jQuery,但感覺(jué)還是有些用的~~~2009-04-04

