Lavorando con degli scadenziari, può capitare di voler visualizzare le voci di colori diverso in funzione alla data odierna; nell'esempio che adesso andremo a vedere, faremo in modo che le attività scadute siano in rosso, quelle future in verde e quelle odierne in giallo.
Se per fare il confronto tra date si facesse un operazione del tipo
<SCRIPT LANGUAGE=vbscript>
if "5/11/2001"<"20/11/2001" then
document.write "Giusto"
else
document.write "Sbagliato"
end if
</SCRIPT>
ci si aspetterebbe che il risultato fosse "Giusto", invece è
errato. Infatti il confronto non viene effettuato tra date, ma tra strighe:
in ordine alfabetico il 5 viene dopo il 2, quindi il risultato è sbagliato.
L'accorgimento da adottare quando si vogliono fare confronti tra date, è
quello di specificare che i parametri del confronto sono date. Per farlo si
usa CDate
<SCRIPT LANGUAGE=vbscript>
if CDate("5/11/2001")<CDate("20/11/2001") then
document.write "Giusto"
else
document.write "Sbagliato"
end if
</SCRIPT>
Adesso il risultato è giusto.
Il modo migliore per fare confronti fra date, è tramite la funzione DateDiff:
questa funzione restituisce 0 se le date sono uguali, un numero negativo se
è maggiore la prima data e un numero positivo se è maggiore la
seconda data.
<SCRIPT LANGUAGE=vbscript>
if DateDiff("d","5/11/2001","20/11/2001")>0
then
document.write "Giusto"
else
document.write "Sbagliato"
end if
</SCRIPT>
Questa funzione restituisce "Giusto".
Tornando al nostro esercizio, useremo DateDiff per confrontare delle date con quella odierna. Il risultato del confronto colorerà in modo diverso lo sfondo di una cella.
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE=vbscript>
if DateDiff("d","5/11/2001","20/11/2001")>0 then
document.write "Giusto"
else
document.write "Sbagliato"
end if
</SCRIPT>
<TABLE width=75% border=1 cellspacing=1 cellpadding=1>
<TR>
<TD id=tab1><input name=data1></TD>
</TR>
<TR>
<TD id=tab2><input name=data2></TD>
</TR>
<TR>
<TD id=tab3><input name=data3></TD>
</TR>
</TABLE>
<input type=button value=Confronta >
<SCRIPT LANGUAGE=vbscript >
<!--
data1.value = DateAdd("d",-5,date())
data2.value = date()
data3.value = DateAdd("d",+6,date())
sub colora()
if DateDiff("d",data1.value,date())>0 then
tab1.bgcolor ="red"
elseif DateDiff("d",data1.value,date())<0 then
tab1.bgcolor ="green"
else
tab1.bgcolor ="yellow"
end if
if DateDiff("d",data2.value,date())>0 then
tab2.bgcolor ="red"
elseif DateDiff("d",data2.value,date())<0 then
tab2.bgcolor ="green"
else
tab2.bgcolor ="yellow"
end if
if DateDiff("d",data3.value,date())>0 then
tab3.bgcolor ="red"
elseif DateDiff("d",data3.value,date())<0 then
tab3.bgcolor ="green"
else
tab3.bgcolor ="yellow"
end if
end sub
//-->
</SCRIPT>
</BODY>
</HTML>
PhantomJS, headless browser per test con JavascriptIl tool ideale per realizzare, da terminale, operazioni in remoto su... |
Creare e leggere QR Code in JavaScriptApplicazioni 'QR Code enabled' per il Web e per il mobile,... |
Jquery UI Map: web-mapping con Google Maps e jQueryUn plugin di jQuery UI per intefacciare applicaizoni Web/mobile con... |
Scrollorama e Scrolldeck, slideshow d'effetto con jQueryPlugin jQuery per ottenere Slideshow con diversi effetti di scrolling |
jCanvas, un primo semplice graficoAlla scoperta della libreria jCanvas, per semplificare il disegno e... |
Guida Node.jsIl framework che permette di per usare V8, l'interprete JavaScript... |
Canvas, guida ai frameworkCanvas, tra gli elementi di HTML5 è forse quello di maggior impatto.... |
Guida Javascript: tecniche avanzateUna guida dal taglio pratico per approfondire la programmazione a... |
Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso JQuery e Ajax per Webmaster03 Luglio 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |