The getMonth() method of Date instances 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


ECMAScript Language Specification
# sec-date.prototype.getmonth

Browser compatibility

BCD tables only load in the browser

See also