2011-04-13 16 views
0

這是我的問題。DateTime將指定的月份數添加到值

在C#中,我可以做到這一點

使用此:

DateTime.Now.AddMonths(12); 

但我不知道如何做到這一點在JavaScript/jQuery的,任何想法?我試圖谷歌它,但我只發現轉換....(任何提示我如何可以搜索這個,也會幫助我)

在此先感謝。

PS:我找到了這個:A couple of classes featuring the same utilities that .NET classes do.,但是,我只能用一個「插件」實現這個嗎?

回答

0
var date = new Date(); 
date.setMonth(date.getMonth() + 12); 

顯然12是一個愚蠢的例子,因爲它是一整年...

哦,如果你的新月沒有足夠的日子在一個月的舊日,那麼也包裹了,所以你必須小心。例如:

var date = new Date(); 
var day = date.getDate(); 
date.setMonth(date.getMonth() + 1); 
if (date.getDate() != day) // day too big, month rolled over 
    date.setDate(0); // Use last day of the month 
+0

我也使用了12個,只是因爲我喜歡這個數字。 =)我會測試這個,只有一個問題(如果你知道會節省我的時間測試),這與閏年 – 2011-04-13 19:23:51

+0

一起工作如果今天是2012年2月29日,並且你增加了12個月,你將會得到2013年3月1日,或2013年2月28日精心版本。 – Neil 2011-04-13 20:05:01

2

您可能只需創建Date對象並計算適當的秒數來添加。但爲了讓生活更輕鬆,爲什麼不使用這樣的東西:http://www.datejs.com爲你做重擔?

+0

+1 Nice插件。但我只在一個地方需要這個。我試圖避免把一個完整的添加,只是爲了這個。 – 2011-04-13 19:27:11

0

var date = new Date(); var date6MonthsFromNow = new Date(date.getTime()+(182 * 24 * 60 * 60 * 1000));

式僅僅是[在密耳當前時間+(6個月#days *在 天#hrs *在秒在小時#mins * #sec在分* #mils)]

+0

六個月中的天數是否取決於您從哪裏開始計算? – 2011-04-13 19:13:08

+0

當然,你需要知道實際的天數。只需剪切並粘貼到互聯網上......互聯網上沒有錯誤的代碼,對吧? – 2011-04-13 19:34:44