将X个月添加到日期的JavaScript函数

将X个月添加到日期的JavaScript函数

我正在寻找最简单、最干净的方式将X个月添加到JavaScript日期。

我还是不去了吧处理一年中的滚动或者不得不写我自己的函数.

有什么内置的东西能做到这一点吗?


慕哥6287543
浏览 464回答 3
3回答

HUWWW

我认为这应该可以做到:var x = 12; //or whatever offsetvar CurrentDate = new Date();console.log("Current date:", CurrentDate);CurrentDate.setMonth(CurrentDate.getMonth() + x);console.log("Date after " + x + " months:", CurrentDate);我认为,它应该自动处理增量到适当的年份和模式到适当的月份。

慕容708150

该函数处理边缘情况,速度快: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"更新非协调世界时的日期:(作者:A.Hatchkins)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"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript