Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Go Back

Somar Mês a Uma Data

Recommended Posts

Eu estou utilizando esta função:

function somaData(validade){
  var dataInicial = document.getElementById("dti").value;

  if(dataInicial == '') return;
  if(!dataInicial.match('[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}'))return;    
  dataInicial = dataInicial.split('/');

  var date = new Date();
  date.setMonth(dataInicial[1]);
  date.setDate(dataInicial[0]);

  date.setDate(date.getDate() + 7);

  document.getElementById("dte").value = date.getDate()+'/'+(date.getMonth()+validade)+'/'+date.getFullYear();
}

 

Eu peguei na internet e adaptei, porém, não consigo somar a data.

No meu formulário, tem o campo Data Intregação, depois um campo Validade onde o usuário digitará um valor que é a quantidade de meses que a integração vai valer.

 

Por exemplo, hoje dia, 08/02/2011, se eu colocar validade de 12 meses, no campo Data de Expiração tem que ir para 08/02/2012. Se colocar 1 mes, 08/03/2011. Mas está colocando datas nada a ver. Se eu coloco 1, coloca 08/15/2011, nem tem mes 15.

 

O que está errado na função ?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nâo seria melhor fazer isso em uma linguagem de servidor (PHP, ASP, JSP...)?

Assim você tem um controle maior sobre as datas com as funções mktime e date...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para instanciar a data, deve-se seguir o formato AAAA-MM-DD

var data = new Date('1988-09-21');

 

Para receber o dia, utilize o método getDate

var dia = data.getDate()

 

Para receber o mês, utilize o método getMonth. Este método tem uma particularidade, retorna os meses de 0 a 11. Para representações numéricas, é interessante adicionar + 1 a este valor

var mes = data.getMonth() + 1;

 

Para receber o ano com 4 dígitos, o método é getFullYear, com dois dígitos o método é apenas getYear.

var ano = data.getFullYear();

 

Para alterar em um mês, por exemplo, utilize o método setMonth aliado ao método getMonth.

// adiciona um mês
data.setMonth(data.getMont() + 1);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.