第五周第五天

javascript 計(jì)算N個(gè)月前的日期(YYYY-MM-DD)

標(biāo)簽: javascript 日期 date


做之前思考的問題:

  1. 比如現(xiàn)在是8月,如果往前8個(gè)月,那么應(yīng)該就是上一年12月.
  2. 如果是31號(hào),那么往前N個(gè)月,這個(gè)月是否有31號(hào)..2月同理.
  3. 2月還得考慮閏年,只有28天.
/**
* 獲取上一個(gè)月
*
* @date 現(xiàn)在的日期. 格式為yyyy-mm-dd的日期皱炉,如:2014-01-25
* @pre 往前算幾個(gè)月,Int. 如: 1月,2月,3月,....N月
*/
function getPreMonth(date,pre) {
    var arr = date.split('-');
    var year = arr[0]; 
    var month = arr[1]; 
    var day = arr[2];
    var year2 = year;
    var month2 = parseInt(month) - pre;
    if (month2 <= 0) {
        month2 =8-(pre- 12* parseInt(Math.round(pre/12)));
        if(month2>12){
            year2 =year2 - parseInt(Math.round(pre/12)) +1;
            month2 -=12;
        }else{
            year2 =year2 - parseInt(Math.round(pre/12));
        }
    } 
    var day2 = day;
    var days2 = new Date(year2, month2, 0);
    days2 = days2.getDate();
    if (day2 > days2) {
        day2 = days2;
    }
    if (month2 < 10) {
        month2 = '0' + month2;
    }
    var t2 = year2 + '-' + month2 + '-' + day2;
    return t2;
}

/* 以下為測(cè)試代碼 */
window.onload = function(){
    var list=[];
    for(var i=0;i<100;i++)
    {
        list.push(i + " 月前 : "+ getPreMonth("2016-08-31",i));
    }
    console.log(list.join("<br/>"));

}

結(jié)果輸出:

0 月前 : 2016-08-31
1 月前 : 2016-07-31
2 月前 : 2016-06-30
3 月前 : 2016-05-31
4 月前 : 2016-04-30
5 月前 : 2016-03-31
6 月前 : 2016-02-29
7 月前 : 2016-01-31
8 月前 : 2015-12-31
9 月前 : 2015-11-30
10 月前 : 2015-10-31
11 月前 : 2015-09-30
12 月前 : 2015-08-31
13 月前 : 2015-07-31
14 月前 : 2015-06-30
15 月前 : 2015-05-31
16 月前 : 2015-04-30
17 月前 : 2015-03-31
18 月前 : 2015-02-28
19 月前 : 2015-01-31
20 月前 : 2014-12-31
21 月前 : 2014-11-30
22 月前 : 2014-10-31
23 月前 : 2014-09-30
24 月前 : 2014-08-31
25 月前 : 2014-07-31
26 月前 : 2014-06-30
27 月前 : 2014-05-31
28 月前 : 2014-04-30
29 月前 : 2014-03-31
30 月前 : 2014-02-28
31 月前 : 2014-01-31
32 月前 : 2013-12-31
33 月前 : 2013-11-30
34 月前 : 2013-10-31
35 月前 : 2013-09-30
36 月前 : 2013-08-31
37 月前 : 2013-07-31
38 月前 : 2013-06-30
39 月前 : 2013-05-31
40 月前 : 2013-04-30
41 月前 : 2013-03-31
42 月前 : 2013-02-28
43 月前 : 2013-01-31
44 月前 : 2012-12-31
45 月前 : 2012-11-30
46 月前 : 2012-10-31
47 月前 : 2012-09-30
48 月前 : 2012-08-31
49 月前 : 2012-07-31
50 月前 : 2012-06-30
51 月前 : 2012-05-31
52 月前 : 2012-04-30
53 月前 : 2012-03-31
54 月前 : 2012-02-29
55 月前 : 2012-01-31
56 月前 : 2011-12-31
57 月前 : 2011-11-30
58 月前 : 2011-10-31
59 月前 : 2011-09-30
60 月前 : 2011-08-31
61 月前 : 2011-07-31
62 月前 : 2011-06-30
63 月前 : 2011-05-31
64 月前 : 2011-04-30
65 月前 : 2011-03-31
66 月前 : 2011-02-28
67 月前 : 2011-01-31
68 月前 : 2010-12-31
69 月前 : 2010-11-30
70 月前 : 2010-10-31
71 月前 : 2010-09-30
72 月前 : 2010-08-31
73 月前 : 2010-07-31
74 月前 : 2010-06-30
75 月前 : 2010-05-31
76 月前 : 2010-04-30
77 月前 : 2010-03-31
78 月前 : 2010-02-28
79 月前 : 2010-01-31
80 月前 : 2009-12-31
81 月前 : 2009-11-30
82 月前 : 2009-10-31
83 月前 : 2009-09-30
84 月前 : 2009-08-31
85 月前 : 2009-07-31
86 月前 : 2009-06-30
87 月前 : 2009-05-31
88 月前 : 2009-04-30
89 月前 : 2009-03-31
90 月前 : 2009-02-28
91 月前 : 2009-01-31
92 月前 : 2008-12-31
93 月前 : 2008-11-30
94 月前 : 2008-10-31
95 月前 : 2008-09-30
96 月前 : 2008-08-31
97 月前 : 2008-07-31
98 月前 : 2008-06-30
99 月前 : 2008-05-31
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市您觉,隨后出現(xiàn)的幾起案子搪缨,更是在濱河造成了極大的恐慌沽损,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異论寨,居然都是意外死亡赖临,警方通過查閱死者的電腦和手機(jī)胞锰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來兢榨,“玉大人嗅榕,你說我怎么就攤上這事顺饮。” “怎么了凌那?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵兼雄,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我案怯,道長(zhǎng)君旦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任嘲碱,我火速辦了婚禮金砍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘麦锯。我一直安慰自己恕稠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布扶欣。 她就那樣靜靜地躺著鹅巍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪料祠。 梳的紋絲不亂的頭發(fā)上骆捧,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音髓绽,去河邊找鬼敛苇。 笑死,一個(gè)胖子當(dāng)著我的面吹牛顺呕,可吹牛的內(nèi)容都是我干的枫攀。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼株茶,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼来涨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起启盛,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤蹦掐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后僵闯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體笤闯,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年棍厂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了颗味。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡牺弹,死狀恐怖浦马,靈堂內(nèi)的尸體忽然破棺而出时呀,到底是詐尸還是另有隱情,我是刑警寧澤晶默,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布谨娜,位于F島的核電站,受9級(jí)特大地震影響磺陡,放射性物質(zhì)發(fā)生泄漏趴梢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一币他、第九天 我趴在偏房一處隱蔽的房頂上張望坞靶。 院中可真熱鬧,春花似錦蝴悉、人聲如沸彰阴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尿这。三九已至,卻和暖如春庆杜,著一層夾襖步出監(jiān)牢的瞬間射众,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工晃财, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叨橱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓拓劝,卻偏偏與公主長(zhǎng)得像雏逾,于是被迫代替她去往敵國(guó)和親嘉裤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子郑临,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容