As funções JavaScript abaixo são utilizadas para identificar se uma data esta entre um período. As datas devem ser passadas no formato “DD/MM/YYYY”. Espero que seja útil para alguém.
// Retorna true se a data no primeiro parametro estiver entre as duas outras datas (inclusive)
function isBetween(data, data1, data2) {
var partes = data.split("/");
var partes1 = data1.split("/");
var partes2 = data2.split("/");
var ANO=2, MES=1,DIA=0;
if ( isBefore(data, data2, true) ) { // se esta antes da data final
if ( isBefore(data1, data, true) ) { // se esta após ou igual a data inicial
return true;
}
}
return false;
}
// Retorna true se a data no primeiro parametro estiver antes (mais antiga-ocorrer primeiro) da data no segundo parametro
// Parametro inclusive, informa se as datas podem ser iguais
function isBefore(data1, data2, inclusive) {
var partes1 = data1.split(“/”);
var partes2 = data2.split(“/”);
var ANO=2, MES=1,DIA=0;
if ( partes1[ANO] > partes2[ANO] ) return false; // ano já é a frente
if ( partes1[ANO] < partes2[ANO] ) return true; // ja nem é este ano….
// chegar até aqui então o ano é igual
if ( partes1[MES] > partes2[MES] ) return false; // ano igual, mes superior
if ( partes1[MES] < partes2[MES] ) return true; // o mes já é antes do anterior
// se chegar até aqui então o ano e o mes é igual
if ( partes1[DIA] > partes2[DIA] ) return false; // vem após
if ( partes1[DIA] < partes2[DIA] ) return true;
return inclusive; // a mesma data, retorna o inclusive
}
