lunedì 5 gennaio 2009

ASP - Controllare se una data è compresa tra due date

FUNZIONE RIFATTA - QUESTA FUNZIONE E' VECCHIA
Guarda quella nuova

Hai la necessità di controllare se una data è compresa tra altre due date?
Visto che non esiste nessuna funzione ASP per fare ciò eccone una fatta in casa!

<%
function checkZerosDate(num)
if len(num)=1 then
checkZerosDate= "0" & num
else
checkZerosDate=num
end if
end function

Function dateBetween(data1,data2,data)
dim ndata1,ndata2,ndata

'controllo che siano date
if isdate(data1) and isdate(data2) and isdate(data) then
ndata1=year(data1) & checkZerosDate(month(data1)) & checkZerosDate(day(data1))
ndata2=year(data2) & checkZerosDate(month(data2)) & checkZerosDate(day(data2))
ndata=year(data) & checkZerosDate(month(data)) & checkZerosDate(day(data))
if (ndata1<=ndata) and (ndata<=ndata2) then
dateBetween=true
else
dateBetween=false
end if
else
' se non sono date restituisco falso
dateBetween=false
end if
end function
%>


Come puoi notare la funzione principale è "dateBetween" alla quale bisogna passare come parametri:
  • data1 : data di inizio intervallo
  • data2 : data di fine intervallo
  • data : data da testare
Se non vengono passate delle date valide la funzione restituisce il valore booleano false

La funzione restituirà il valore booleano True se data è compresa tra data1 e data2 oppure False se non lo è.

Per funzionare questa funzione si deve appoggiare alla funzione checkZerosDate che non fa altro che formattare i valori a una cifra del giorno/mese in uno a due cifre!

Come sempre non può mancare lo zippo con lo script e un esempio!

Stop! :D
FUNZIONE RIFATTA - QUESTA FUNZIONE E' VECCHIA
Guarda quella nuova



Nessun commento:

Posta un commento