Ir para conteúdo

POWERED BY:

Arquivado

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

pedrovisk

[Resolvido] Calcular Qtd de dias entre duas datas

Recommended Posts

Turma,

 

O código abaixo funciona perfeitamente para fazer o cálculo entre DUAS DATAS, mas elas precisam está digitadas no formato americano, ou seja, MM/DD/YYYY. Eu gostaria de que focem aceitas as datas no formato brasileiro DD/MM/AAAA.

 

function calcDias(){
  var Data1 = document.getElementById('txtDtInicio').value;
  var Data2 = document.getElementById('txtDtRetorno').value;
  Data1 = Data1.split("/");
  Data2 = Data2.split("/");
  var sDate = new Date(Data1[0]+"/"+Data1[1]+"/"+Data1[2]);
  var eDate = new Date(Data2[0]+"/"+Data2[1]+"/"+Data2[2]);
  var DiasApart = Math.abs(Math.round((sDate-eDate)/86400000));
  document.getElementById('QtdDias').value = DiasApart;
}

Muito obrigado a quem poder me ajudar,

 

Pedro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script type="text/javascript">

var dateDif = {

// Fonte: http://www.bigbold.com/snippets/posts/show/2501

dateDiff: function(strDate1,strDate2){

return (((Date.parse(strDate2))-(Date.parse(strDate1)))/(24*60*60*1000)).toFixed(0);

}

}

function diasEntreDatas(dataInfo) {

// Declarações de variáveis

var mes, data, dataAtual, dataInfo, arrDataInfo, novaDataInfo, diasEntreDatas, msg;

// Lista dos meses em inglês

mes = [];

mes[0] = "January";

mes[1] = "February";

mes[2] = "March";

mes[3] = "April";

mes[4] = "May";

mes[5] = "June";

mes[6] = "July";

mes[7] = "August";

mes[8] = "September";

mes[9] = "October";

mes[10] = "November";

mes[11] = "December";

// Instancia o objeto Date

data = new Date();

// Pega a data de hoje no seguinte formato: November 22 2006

dataAtual = mes[data.getMonth()] + ' ' + data.getDate() + ' ' + data.getFullYear();

// Pega a data informada pelo usuário

//dataInfo = document.getElementById('data').value;

// Separa a data informada pelo usuário através da barra /

arrDataInfo = dataInfo.split('/');

// Formata a data para o seguinte formato: November 22 2006

novaDataInfo = mes[(arrDataInfo[1] - 1)] + ' ' + arrDataInfo[0] + ' ' + arrDataInfo[2];

// Saberemos o total de dias entre: a data informada pelo usuário e a data atual

diasEntreDatas = dateDif.dateDiff(dataAtual, novaDataInfo);

 

if (diasEntreDatas == 0)

msg = "Hoje é " + dataInfo + " !";

else if (diasEntreDatas < 1)

msg = "A data " + dataInfo + " já passou!";

else

msg = "Faltam " + diasEntreDatas + " dias para " + dataInfo + " !";

 

alert(msg);

}

</script>

 

<a href="java script: diasEntreDatas('31/12/2008')">31/12/2008</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é isto que eu estou querendo, em cima do meu código eu gostaria apenas de ter em formato brasileiro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguém sabe como faço para deixar no formato de data brasileira?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

<script language="javascript">

function calcDias(){

var Data1 = document.getElementById('txtDtInicio').value;

var Data2 = document.getElementById('txtDtRetorno').value;

Data1 = Data1.split("/");

Data2 = Data2.split("/");

var sDate = new Date(Data1[1]+"/"+Data1[0]+"/"+Data1[2]);

var eDate = new Date(Data2[1]+"/"+Data2[0]+"/"+Data2[2]);

var DiasApart = Math.abs(Math.round((sDate-eDate)/86400000));

document.getElementById('QtdDias').value = DiasApart;

}

</script>

 

A unica coisa que fiz foi alterar o array ai em cima..RESOLVIDO...

 

André

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.