The setDate() method sets the day of the Date object relative to the beginning of the currently set month.




An integer representing the day of the month.

Return value

The number of milliseconds between 1 January 1970 00:00:00 UTC and the given date (the Date object is also changed in place).


If the dayValue is outside of the range of date values for the month, setDate() will update the Date object accordingly.

For example, if 0 is provided for dayValue, the date will be set to the last day of the previous month.

If a negative number is provided for dayValue, the date will be set counting backwards from the last day of the previous month. -1 would result in the date being set to 1 day before the last day of the previous month.


Using setDate()

var theBigDay = new Date(1962, 6, 7); // 1962-07-07 (7th of July 1962)
theBigDay.setDate(24);  // 1962-07-24 (24th of July 1962)
theBigDay.setDate(32);  // 1962-08-01 (1st of August 1962)
theBigDay.setDate(22);  // 1962-08-22 (22th of August 1962)
theBigDay.setDate(0);   // 1962-07-31 (31th of July 1962)
theBigDay.setDate(98);  // 1962-10-06 (6th of October 1962)
theBigDay.setDate(-50); // 1962-08-11 (11th of August 1962)


ECMAScript (ECMA-262)
The definition of 'Date.prototype.setDate' in that specification.

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
setDateChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 3Opera Full support 3Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100


Full support  
Full support

See also