The getMonth() method of a Date instance returns the month for this date according to local time, as a zero-based value (where zero indicates the first month of the year).

Try it



Return value

An integer, between 0 and 11, representing the month for the given date according to local time: 0 for January, 1 for February, and so on. Returns NaN if the date is invalid.


The return value of getMonth() is zero-based, which is useful for indexing into arrays of months, for example:

const valentines = new Date("1995-02-14");
const month = valentines.getMonth();
const monthNames = ["January", "February", "March", /* … */];

console.log(monthNames[month]); // "February"

However, for the purpose of internationalization, you should prefer using Intl.DateTimeFormat with the options parameter instead.

const options = { month: "long" };
console.log(new Intl.DateTimeFormat("en-US", options).format(valentines));
// "February"
console.log(new Intl.DateTimeFormat("de-DE", options).format(valentines));
// "Februar"


Using getMonth()

The month variable has value 11, based on the value of the Date object xmas95.

const xmas95 = new Date("December 25, 1995 23:15:30");
const month = xmas95.getMonth();

console.log(month); // 11


Browser compatibility

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet Deno Node.js
getMonth 1 12 1 4 3 1 4.4 18 4 10.1 1 1.0 1.0 0.10.0

See also

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.