SCRIPT:
<script language="javascript" type="text/javascript"> //*************************************// // SCRIPT CALCULA NÚMERO DE DIAS // // AUTOR : Édson Kuzniewski (Br0w)// // E-MAIL : [email protected] // // DATA : 27/06/2007 // // ATUALIZAÇÃO: 24/02/2008 // // VERSÃO : 1.1.0.0 // //*************************************// function calculaDias(dtInicio, dias){ var flagDT = false; var flagD = false; var alerta="[ERROS ENCONTRADOS]=================\n\n"; if( dtInicio == null || dtInicio == ""){ alerta = alerta+'Campo [DATA INICIO] em branco!\n'; }else{ flagDT = true; if( verificaData(dtInicio) ){ flagDT = true; }else{ flagDT = false; alerta = alerta+'Campo [DATA INICIO] não é uma data válida!\n'; } } if( dias == null || dias == ""){ alerta = alerta+'Campo [DIAS] em branco!\n'; }else{ flagD = true; if( isInt(dias) ){ result = true; }else{ flagD = false; alerta = alerta+'Campo [DIAS] não é um número inteiro válido!\n'; } } /* Verifica data */ function verificaData(dt) { var result = false; var pFmt2 = 5; var reDate1 = /^\d{1,2}\/\d{1,2}\/\d{1,4}$/; var reDate2 = /^[0-3]?\d\/[01]?\d\/(\d{2}|\d{4})$/; var reDate3 = /^(0?[1-9]|[12]\d|3[01])\/(0?[1-9]|1[0-2])\/(19|20)?\d{2}$/; var reDate4 = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/; var reDate5 = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/; var reDate = reDate4; eval("reDate = reDate" + pFmt2); if (reDate.test(dt)) { result = true; } else if (dt != null && dt != "") { result = false; } if (result == false) { return false }else{ return true } } /* Verifica se é inteiro! */ function isInt(valor) { var temp=parseInt(valor); if (isNaN(temp)){ return false; }else{ return valor==temp && valor.toString()==temp.toString(); } } if( flagDT == true && flagD == true ){ um_dia = (100*60*60*24); diass = ((dias*um_dia)*10); data = dtInicio.split("/"); dia = data[0]; mes = (data[1]-1); ano = data[2]; dat = new Date(ano,mes,dia,0,0,0); emiss = (dat.getTime()+diass); dataFinal = new Date(emiss); calc01 = dataFinal.toLocaleDateString(); ult = dataFinal.toLocaleDateString().split(" "); //[ DIA ]====================================\ diaN=""; if(ult[1] < 10){ diaN="0"+ult[1]; }else{ diaN=ult[1]; } //===========================================/ //[ MES ]====================================\ mesN=""; if(ult[3] == "janeiro"){ mesN="01"; } if(ult[3] == "fevereiro"){ mesN="02"; } if(ult[3] == "março"){ mesN="03"; } if(ult[3] == "abril"){ mesN="04"; } if(ult[3] == "maio"){ mesN="05"; } if(ult[3] == "junho"){ mesN="06"; } if(ult[3] == "julho"){ mesN="07"; } if(ult[3] == "agosto"){ mesN="08"; } if(ult[3] == "setembro"){ mesN="09"; } if(ult[3] == "outubro"){ mesN="10"; } if(ult[3] == "novembro"){ mesN="11"; } if(ult[3] == "dezembro"){ mesN="12"; } //===========================================/ document.form.dtFim.value=''+diaN+"/"+mesN+"/"+ult[5]; }else{ alert(''+alerta); } } </script>
HTML:
<form name="form" method="post" action=""> <table width="100%" border="0" cellpadding="5" cellspacing="0" class="preempenhoTable"> <tr> <td align="left" valign="top" scope="col"><strong>Data INIICO:</strong> <input name="dtInicio" type="text" id="dtInicio" size="12" maxlength="10" value=""> </td> <td align="center" valign="top" scope="col"><strong>+ Dias: <input name="dias" type="text" id="dias" size="3" maxlength="4" /> <input name="calc" type="button" id="calc" value="Calcular" onclick="calculaDias(dtInicio.value,dias.value);" /> </strong></td> <td align="right" valign="top" scope="col"><strong>Data FIM:</strong> <input type="text" name="dtFim" id="dtFim" size="10" maxlength="10" value="" /> </td> </tr> </table> </form>
Tudo que deparei aqui é de simples apreender e muito útil porque ensina muita coisa.
Cumprimentos por tudo que disponibiliza.