This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The setUTCMonth() method of Date instances changes the month and/or day of the month for this date according to universal time.
const event = new Date("December 31, 1975 23:15:30 GMT-3:00");
console.log(event.toUTCString());
// Expected output: "Thu, 01 Jan 1976 02:15:30 GMT"
console.log(event.getUTCMonth());
// Expected output: 0
event.setUTCMonth(11);
console.log(event.toUTCString());
// Expected output: "Wed, 01 Dec 1976 02:15:30 GMT"
setUTCMonth(monthValue) setUTCMonth(monthValue, dateValue)
monthValueAn integer representing the month: 0 for January, 1 for February, and so on.
dateValue OptionalAn integer from 1 to 31 representing the day of the month.
Changes the Date object in place, and returns its new timestamp. If a parameter is NaN (or other values that get coerced to NaN, such as undefined), the date is set to Invalid Date and NaN is returned.
If you do not specify the dateValue parameter, the value returned from the getUTCDate() method is used.
If a parameter you specify is outside of the expected range, setUTCMonth() attempts to update the date information in the Date object accordingly. For example, if you use 15 for monthValue, the year will be incremented by 1, and 3 will be used for month.
const theBigDay = new Date(); theBigDay.setUTCMonth(11);
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
setUTCMonth |
1 | 12 | 1 | 4 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 | 1.0.0 | 1.0 | 0.10.0 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth