date.setMonth

date.setMonth

setMonth()方法根据本地时间为一个设置年份的日期对象设置月份。

语法

dateObj.setMonth(monthValue[, dayValue])

JavaScript 1.3之前的版本

dateObj.setMonth(monthValue)

参数

monthValue介于 0 到 11 之间的整数(表示一月到十二月)。

返回值

基于 1 January 1970 00:00:00 UTC 开始计算的毫秒数

描述

如果不指定 dayValue参数,就会使用getDate方法的返回值。

如果有一个指定的参数超出了合理范围,setMonth 会相应地更新日期对象中的日期信息。例如,为monthValue指定 15,则年份会加 1,月份将会使用 3。

这个月的当天将会影响这个方法的行为。从概念上讲,它会将当月的当天的天数加到指定的新月的第一天作为参数,以返回新的日期。例如,如果当前值为2016年8月31日,则调用setMonth值为1将返回2016年3月2日。这是因为2016年2月有29天。

例子

Using setMonth()

var theBigDay = new Date( theBigDay.setMonth(6 //Watch out for end of month transitions var endOfMonth = new Date(2016, 7, 31 endOfMonth.setMonth(1 console.log(endOfMonth //Wed Mar 02 2016 00:00:00

规格

SpecificationStatusComment
ECMAScript 1st Edition (ECMA-262)StandardInitial definition. Implemented in JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)The definition of 'Date.prototype.setMonth' in that specification.Standard
ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'Date.prototype.setMonth' in that specification.Standard
ECMAScript Latest Draft (ECMA-262)The definition of 'Date.prototype.setMonth' in that specification.Draft

浏览器兼容性

FeatureChromeFirefoxEdgeInternet ExplorerOperaSafari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)

FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)