慕哥6287543
2019-07-02 10:55:29
將X個(gè)月添加到日期的JavaScript函數(shù)我正在尋找最簡(jiǎn)單、最干凈的方式將X個(gè)月添加到JavaScript日期。我還是不去了吧處理一年中的滾動(dòng)或者不得不寫(xiě)我自己的函數(shù).有什么內(nèi)置的東西能做到這一點(diǎn)嗎?
3 回答

HUWWW
TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
我認(rèn)為這應(yīng)該可以做到:
var x = 12; //or whatever offset
var CurrentDate = new Date();
console.log("Current date:", CurrentDate);
CurrentDate.setMonth(CurrentDate.getMonth() + x);
console.log("Date after " + x + " months:", CurrentDate);

慕容708150
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊
function addMonthsUTC (date, count) { if (date && count) { var m, d = (date = new Date(+date)).getUTCDate() date.setUTCMonth(date.getUTCMonth() + count, 1) m = date.getUTCMonth() date.setUTCDate(d) if (date.getUTCMonth() !== m) date.setUTCDate(0) } return date}
> d = new Date('2016-01-31T00:00:00Z');Sat Jan 30 2016 18:00:00 GMT-0600 (CST)> d = addMonthsUTC(d, 1); Sun Feb 28 2016 18:00:00 GMT-0600 (CST)> d = addMonthsUTC(d, 1);Mon Mar 28 2016 18:00:00 GMT-0600 (CST)> d.toISOString()"2016-03-29T00:00:00.000Z"
更新非協(xié)調(diào)世界時(shí)的日期:
function addMonths (date, count) { if (date && count) { var m, d = (date = new Date(+date)).getDate() date.setMonth(date.getMonth() + count, 1) m = date.getMonth() date.setDate(d) if (date.getMonth() !== m) date.setDate(0) } return date}
> d = new Date(2016,0,31);Sun Jan 31 2016 00:00:00 GMT-0600 (CST)> d = addMonths(d, 1);Mon Feb 29 2016 00:00:00 GMT-0600 (CST)> d = addMonths(d, 1);Tue Mar 29 2016 00:00:00 GMT-0600 (CST)> d.toISOString()"2016-03-29T06:00:00.000Z"
添加回答
舉報(bào)
0/150
提交
取消