Date.prototype.setMonth()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
O método setMonth()
atribui o mês para uma data específica de acordo com o ano corrente.
Experimente
Sintaxe
dateObj.setMonth(monthValue[, dayValue])
Versões anteriores ao JavaScript 1.3
dateObj.setMonth(monthValue)
Parâmetros
monthValue
-
Um inteiro baseado em zero representando o mês do ano a partir do começo do ano. Então, 0 representa Janeiro, 11 representa Dezembro, -1 representa Dezembro do ano passado, e 12 representa Janeiro do ano seguinte.
dayValue
-
Opcional. Um inteiro de 1 a 31, representando o dia do mês.
Valor de retorno
O número de milissegundos entre dia 1 de Janeiro de 1970 00:00:00 UTC e a data atualizada.
Descrição
Se você não especifica o parâmetro dayValue
, o valor retornado do método getDate()
é utilizado.
Se um parâmetro que você especificou estiver fora do alcance esperado, setMonth()
tenta atualizar a informação da data no objeto Date
. Por exemplo, se você usa 15 para monthValue
, o ano será incrementado em 1, e 3 será usado para o mês.
O dia corrente do mês terá um impacto no comportamento deste método. Conceitualmente ele irá adicionar o número de dias dado pelo dia corrente do mês ao primeiro dia do novo mês especificado como parâmetro, retornando uma nova data. Por exemplo, se o valor corrente é 31 de agosto de 2016, chamando setMonth()
com um valor de 1 irá retornar 2 de Março de 2016. Isso acontece porque Fevereiro de 2016 tem 29 dias.
Exemplos
Usando setMonth()
var theBigDay = new Date();
theBigDay.setMonth(6);
//Cuidado com transições de final de mês
var endOfMonth = new Date(2016, 7, 31);
endOfMonth.setMonth(1);
console.log(endOfMonth); //Wed Mar 02 2016 00:00:00
Especificações
Specification |
---|
ECMAScript Language Specification # sec-date.prototype.setmonth |
Compatibilidade com navegadores
BCD tables only load in the browser