Date.prototype.getHoraFormatada=function(){var hora=0;var minuto=0;var segundo=0;var milesimo=0;var tmp=0;milesimoSegundo=this.getTime();tmp=(milesimoSegundo/1000);milesimo=(tmp-parseInt(tmp))*1000;tmp=parseInt(tmp)/60;segundo=tmp-parseInt(tmp);segundo=60*segundo;tmp=parseInt(tmp)/60;minuto=tmp-parseInt(tmp);minuto=60*minuto;hora=parseInt(tmp);hora=Math.round(hora).toString().zeroEsquerda(2);minuto=Math.round(minuto).toString().zeroEsquerda(2);segundo=Math.round(segundo).toString().zeroEsquerda(2);return hora+':'+minuto+':'+segundo;}
Date.prototype.setDuracaoTimeCode=function(pTimeCodeInicial,pTimeCodeFinal){var segundoTcInicial=(parseInt(pTimeCodeInicial.substr(0,2))*60*60*1000)+
(parseInt(pTimeCodeInicial.substr(3,2))*60*1000)+
(parseInt(pTimeCodeInicial.substr(6,2)*1000));var segundoTcFinal=(parseInt(pTimeCodeFinal.substr(0,2))*60*60*1000)+
(parseInt(pTimeCodeFinal.substr(3,2))*60*1000)+
(parseInt(pTimeCodeFinal.substr(6,2)*1000));var duracao=parseInt(segundoTcFinal-segundoTcInicial);this.setTime(duracao);}
Date.prototype.setTimeCode=function(pTimeCode){var segundoTimeCode=(parseInt(pTimeCode.substr(0,2))*60*60*1000)+
(parseInt(pTimeCode.substr(3,2))*60*1000)+
(parseInt(pTimeCode.substr(6,2)*1000));this.setTime(segundoTimeCode);}
Date.prototype.isTimeCodeInicialMaiorFinal=function(pTcInicial,pTcFinal){return pTcInicial.getTime()>pTcFinal.getTime();}
Date.prototype.subtrairTc=function(pTcInicial,pTcFinal){return pTcInicial-pTcFinal;}
Date.prototype.subtrairHora=function(pHoraInicial,pHoraFinal){return pHoraFinal-pHoraInicial;}
Date.prototype.somarHora=function(pHoraInicial,pHoraFinal){return pHoraInicial+pHoraFinal;}
Date.prototype.getDiaSemanaExtenso=function(){var diaSemana='';if(this.getDay()==0){diaSemana="Domingo"}else if(this.getDay()==1){diaSemana="Segunda-Feira"}else if(this.getDay()==2){diaSemana="Terça-Feira"}else if(this.getDay()==3){diaSemana="Quarta-Feira"}else if(this.getDay()==4){diaSemana="Quinta-Feira"}else if(this.getDay()==5){diaSemana="Sexta-Feira"}else if(this.getDay()==6){diaSemana="Sábado"}
return diaSemana;}
Date.prototype.setHora=function(pNovaHora){if(typeof pNovaHora!='string')
throw('IllegalArgumentException: O parâmetro esperado para String.prototype.setData(pNovaData) '+' deve ser uma String');if((pNovaHora.substr(3,1)!=':')&&(pNovaHora.substr(6,1)!=':'))
throw('IllegalArgumentException: O conteúdo do parâmetro String.prototype.setData(pNovaData) é inválido!');this.setHours(pNovaHora.substr(1,2));this.setMinutes(pNovaHora.substr(4,2));this.setSeconds(pNovaHora.substr(7,2));return this;}
Date.prototype.setData=function(pNovaData){if(typeof pNovaData!='string')
throw('IllegalArgumentException: O parâmetro esperado para String.prototype.setData(pNovaData) '+' deve ser uma String');if((pNovaData.substr(2,1)!='/')&&(pNovaData.substr(5,1)!='/'))
throw('IllegalArgumentException: O conteúdo do parâmetro String.prototype.setData(pNovaData) é inválido!');this.setDate(pNovaData.substr(0,2));this.setMonth(parseInt(pNovaData.substr(3,2))-1);this.setYear(pNovaData.substr(6,4));}
Date.prototype.getDataFormatada=function(pMascara){if(typeof pMascara!='string')
throw('IllegalArgumentException: O parâmetro esperado para String.prototype.getDataFormatada(pMascara) '+' deve ser uma String');if((pMascara.toUpperCase()!='DD/MM/AAAA')&&(pMascara.toUpperCase()!='AAAA/MM/DD'))
throw('IllegalArgumentException: O conteúdo do parâmetro String.prototype.getDataFormatada(pMascara) é inválido!');var dataFormatada='';if(pMascara.toUpperCase()=='DD/MM/AAAA')
dataFormatada=this.getDate().toString().zeroEsquerda(2)+'/'+
(this.getMonth()+1).toString().zeroEsquerda(2)+'/'+
this.getFullYear().toString().zeroEsquerda(4);else if(pMascara.toUpperCase()=='AAAA/MM/DD')
dataFormatada=this.getFullYear().toString().zeroEsquerda(4)+'/'+
(this.getMonth()+1).toString().zeroEsquerda(2)+'/'+
this.getDate().toString().zeroEsquerda(2);return dataFormatada;}
Date.prototype.getIdade=function(){var idade=0;var diaNascimento=this.getDate();var mesNascimento=this.getMonth();var anoNascimento=this.getFullYear();var hoje=new Date();var dia=hoje.getDate();var mes=hoje.getMonth();var ano=hoje.getYear();idade=ano-anoNascimento;if(mes<mesNascimento)
idade=idade-1;else if(mes=mesNascimento){if(dia<diaNascimento)
idade=idade-1;}
return idade;};Date.prototype.getDiaSemanaExtenso=function(){var diaSemana=this.getDay();if(diaSemana==0){diaSemanaText="Domingo"}else if(diaSemana==1){diaSemanaText="Segunda-Feira"}else if(diaSemana==2){diaSemanaText="Terça-Feira"}else if(diaSemana==3){diaSemanaText="Quarta-Feira"}else if(diaSemana==4){diaSemanaText="Quinta-Feira"}else if(diaSemana==5){diaSemanaText="Sexta-Feira"}else if(diaSemana==6){diaSemanaText="Sábado"}
return diaSemanaText;};Date.prototype.getMesExtenso=function(){mes=this.getMonth();if(mes==0){mesText="Janeiro"}else if(mes==1){mesText="Fevereiro"}else if(mes==2){mesText="Marco"}else if(mes==3){mesText="Abril"}else if(mes==4){mesText="Maio"}else if(mes==5){mesText="Junho"}else if(mes==6){mesText="Julho"}else if(mes==7){mesText="Agosto"}else if(mes==8){mesText="Setembro"}else if(mes==9){mesText="Outubro"}else if(mes==10){mesText="Novembro"}else if(mes==11){mesText="Dezembro"}
return mesText;};Date.prototype.getPorExtenso=function(){var dataText='';dataText+=this.getDiaSemanaExtenso();dataText+=', '+((this.getDate().length==1)?'0':'')+this.getDate();dataText+=' de '+this.getMesExtenso().toLowerCase();dataText+=' de '+this.getYear();return dataText;};