Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eaih pessoal!!!Nossa, faz um tempão que não posto alguma coisa aqui.. mas vamos lá!Preciso de uma função que adicione dias em uma determinada data e lógico, que funcione no Firefox, Opera, etc etc etcAlguém tem a solução aih?Por favor, é urgente mesmo...Obrigada! :)
socorro!
Ah pessoal... achei uma solução hehehe
<html><head><title>Teste</title><script language=JavaScript>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;}alert(somadias("31/07/2005",10));</script></head><body></body></html>
Bem simples =)
Valeu pela resposta!
Mas aqui não deu não.. dá erro essa sua função...
Olha como estou tentando...
* Função para mostrar a data (que tá com BUGS)
function mostraDataFim(p_dias,p_dtInicio){if((p_dias.value != "") && (p_dtInicio.value != "")){ dia = p_dtInicio.value.charAt(0) + p_dtInicio.value.charAt(1); mes = p_dtInicio.value.charAt(3) + p_dtInicio.value.charAt(4); ano = p_dtInicio.value.charAt(6) + p_dtInicio.value.charAt(7) + p_dtInicio.value.charAt(8) + p_dtInicio.value.charAt(9); if ((parseInt(mes) == 1) || (parseInt(mes) == 3) || (parseInt(mes) == 5) || (parseInt(mes) == 7) || (parseInt(mes) == 8) || (parseInt(mes) == 10) || (parseInt(mes) == 12)) ultimoDia = 31; else if((parseInt(mes) ==4 ) || (parseInt(mes) == 6) || (parseInt(mes) == 9) || (parseInt(mes) == 11) ) ultimoDia = 30; else if( (parseInt(ano) % 4 == 0) && (parseInt(ano) % 100 != 0) || (parseInt(ano) % 400 == 0)) ultimoDia = 29; else ultimoDia = 28; while(p_dias.value > 0) { decr = 0; diaAnt = dia; dia = parseInt(dia) + parseInt(p_dias.value); if(dia >= ultimoDia) { dia = 1; decr = 1; if (parseInt(mes) < 12) { mes = parseInt(mes) + 1; } else { mes = 1; ano = parseInt(ano) + 1; } p_dias = p_dias.value - (ultimoDia - diaAnt) - decr; } else p_dias = 0; if (dia < 10) dia = "0" + parseInt(dia); if (mes < 10) mes= "0" + parseInt(mes); } dataFinal = dia + "/" + mes + "/" + ano; document.getElementById("textoDataFim").innerHTML = "Data de Fim:"; document.getElementById("inputDataFim").innerHTML = dataFinal; } }
* Funções para formatar e validar data:
* Campo
<table><TR> <TD> Data de Início:</TD> <TD><input name="txt_dtInicio" type="text" class="" id="txt_dtInicio" onChange="mostraDataFim(frmViewCadLicSaude.txt_qtdeDias, this)" onBlur="formataDataW3c(this)" onKeyPress="return checaDataW3c(this, event)" size="12" maxlength="10"></TD> </TR> <TR> <TD>Quantidade de Dias:</TD> <TD><input name="txt_qtdeDias" type="text" id="txt_qtdeDias" onChange="mostraDataFim(this,frmViewCadLicSaude.txt_dtInicio)" size="3" maxlength="3"></TD> </TR> <TR> <TD id="textoDataFim"> </TD> </TR></table>
Esse código é o que estou usando... mas tá com uns probleminhas.. e agora?