javascript Date 中的31号去取出来下一个月的月份不对?

为什么今天是31号 取下一个月的月份出来的月份不对啊! 有什么好的解决方式吗?我应该是6月份才对啊。为什么是7?
为什么1-30号出来的就没问题!

function getDate(n) {
     var oDate = new Date();
     oDate.setMonth(oDate.getMonth() + n);
     return {
        y: oDate.getFullYear(),
        m: oDate.getMonth()+1
    }
}
getDate(1)
阅读 5.8k
4 个回答

原因有人说了,31号的锅,解决可以先把日期置为1,再调整月份,年份最后获得,以防月份进位

因为六月份没有31号,所以加了一个月,到7月了。

setmonth的时候加1,return又加1,你确定30号的对吗?

计算月份日期最简单的是专成时间戳然后加上一天的值在转成日期

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题