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
规格
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initial 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 | |
浏览器兼容性
Feature | Chrome | Firefox | Edge | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |