js 使用Date(yyyy, MM, dd)构造函数创建的日期对象问题?

1,像这样写正确没问题var date = new Date(2020,5,1);date.getMonth(); // 5date.getDate(); // 15月1号2,但像这样写,逻辑上应该获取到 4月30号var date = new Date(2020,5,0);date.getMonth(); // 4date.getDate(); // 31为什么获取到是 4月31号?

月份是从0起算的(也就是说0是1月,1是2月……11是12月),所以new Date(2020,5,1)得到的是2020年6月1日,new Date(2020,5,0)得到的是2020年5月31日
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-08-11
当你设置为2020,5,31的时候你会发现它是6,1。月份虽然是从0开始算的,只是它会自动的去转换一下,如果日为不存在的话貌似会转换成本月最后一天吧
第2个回答  2020-08-11
date. getMonth()+1;本回答被提问者采纳