Agência OFF, desenvolvimento de soluções web para as Agências Digitais
<script language="javascript">
function checarDatas(){
var NomeForm = document.Formulario;
var data_1 = NomeForm.data_01.value;
var data_2 = NomeForm.data_02.value;
var Compara01 = parseInt(data_1.split("/")[2].toString() + data_1.split("/")[1].toString() + data_1.split("/")[0].toString());
var Compara02 = parseInt(data_2.split("/")[2].toString() + data_2.split("/")[1].toString() + data_2.split("/")[0].toString());
if (Compara01 > Compara02) {
document.getElementById("resultado").innerHTML = "Data do Campo 01 Maior";
}
else {
document.getElementById("resultado").innerHTML = "Data do Campo 01 Menor";
}
return false;
}
</script>
<div id="resultado"></div>
<form method="post" action="Teste.pl" name="Formulario" onsubmit="return checarDatas()">
campo01: <input type="text" id="data_01" /><br />
campo02: <input type="text" id="data_02" />
<input type="submit" />
</form>
Acesse também a Webly
Agência OFF, desenvolvimento de soluções web para as Agências Digitais
Tags: comparar • comparar data • comparar datas • comparar datas javascript • data • datas • javascript


Muito bom o codigo, me ajudou muito. Obrigado
Maneira mais adequada do que ficar somando, constante no W3C School:
function comparaDatas(dataini, datafim) {
var data1 = new Date();
var data2 = new Date();
data1.setTime(Date.parse(dataini.split(“/”).reverse().join(“/”))).setFullYear;
data2.setTime(Date.parse(datafim.split(“/”).reverse().join(“/”))).setFullYear;
if (data2 > data1)
return (true);
else
return (false);
}
Essa rotina só funciona corretamente para datas com o mesmo mês e ano.
Um exemplo simples:
data1: 01/01/2001 -> soma: 2003
data2: 31/12/2000 -> soma: 2043
A rotina retornaria a data2 como sendo a maior, quando, na verdade, a data1 é a maior.
Para resolver esse problema, eu utilizei o seguinte algorítimo:
//Compara duas datas no formato dd/mm/aaaa retornando a maior delas
function comparaDatas(data1, data2)
{
array1 = data1.toString().split(“/”);
array2 = data2.toString().split(“/”);
if( (array2[2] > array1[2]) || ((array2[2] == array1[2]) && (array2[1] > array1[1])) || ((array2[2] == array1[2]) && (array2[1] == array1[1]) && (array2[0] > array1[0])) )
{
return data2;
}
return data1;
}
Espero que ajude.