Boa tarde !!
eu tenho essas funções abaixo porem to com problemas na função de subtrair quando chega no dia 01 e eu mando subtrair mais 1 dia ele vai pra zero ao envés pular pro ultimo dia do mes anterior. alguém pode me da uma força ?
/************************************************************** Somar ***************************************************************************/
function numdias(mes,ano) {
if((mes<8 && mes%2==1) || (mes>7 && mes%2==0)) return 31;
if(mes!=2) return 30;
if(ano%4==0) return 29;
return 28;
}
function somadias(data, dias) {
data=data.split('-');
diafuturo=parseInt(data[0])+dias;
mes=parseInt(data[1]);
ano=parseInt(data[2]);
while(diafuturo>numdias(mes,ano)) {
diafuturo-=numdias(mes,ano);
mes++;
if(mes>12) {
mes=1;
ano++;
}
}
if(diafuturo<10) diafuturo='0'+diafuturo;
if(mes<10) mes='0'+mes;
return diafuturo+"-"+mes+"-"+ano;
}
/************************************************************** subtrair ***************************************************************************/
function subtrairdias(data, dias) {
data=data.split('-');
diafuturo=parseInt(data[0])-dias;
mes=parseInt(data[1]);
ano=parseInt(data[2]);
while(diafuturo<numdias(mes,ano)) {
diafuturo-=numdias(mes,ano);
mes--;
if(mes>12) {
mes=1;
ano--;
}
}
if(diafuturo<10) diafuturo='0'+diafuturo;
if(mes<10) mes='0'+mes;
return diafuturo+"-"+mes+"-"+ano;
}