Lo script che presentiamo consente il calcolo e la visualizzazione nella pagina dell'intervallo (calcolato in giorni) tra due date impostate a piacere. L'esempio allegato fa riferimento all'intervallo tra la data corrente e l'ultimo giorno dell'anno, ma può essere adattato per qualunque altra data.
- esempio.htm
## 1: LA SEZIONE JAVASCRIPT
Lo script è composto da due sezioni Javascript. La prima, quella generica, va posta nella sezione <head></head>:
<script language="javascript" type="text/javascript">
<!--
function days_between(date1, date2) {
// The number of milliseconds in one day
var ONE_DAY = 1000 * 60 * 60 * 24
// Convert both dates to milliseconds
var date1_ms = date1.getTime()
var date2_ms = date2.getTime()
// Calculate the difference in milliseconds
var difference_ms = Math.abs(date1_ms - date2_ms)
// Convert back to days and return
return Math.round(difference_ms/ONE_DAY)
}
//-->
</script>
La funzione principale 'days_between' prende come parametri le due date tra cui calcolare l'intervallo. Il calcolo della data è effettuato nel modo consueto per Javascript, passando cioè da millisecondi a giorni. Questa parte non va toccata.
## 2: RICHIAMO INTERNO ALLA PAGINA WEB
All'interno della pagina web, nel punto esatto in cui vogliamo visualizzare l'intervallo, copieremo la seconda parte dello script:
<script language="javascript" type="text/javascript">
<!--
// Store the current date and time
var current_date = new Date()
// Store the date of the next New Year's Day
var new_years_date = new Date()
new_years_date.setYear(new_years_date.getFullYear() + 1)
new_years_date.setMonth(0)
new_years_date.setdate(1)
// Call the days_between function
var days_left = days_between(current_date, new_years_date)
// Write the result to the page
if (days_left> 1) {
document.write("<strong>Mancano " + days_left + " giorni alla fine
dell'anno.</strong>")
}
else {
document.write("<strong>Manca " + days_left + " giorni alla fine
dell'anno.</strong>")
}
//-->
</script>
La variabile 'current_datè imposta la prima data su cui effettuare il calcolo. Nell'esempio, con l'espressione 'new Date()' la fissiamo alla data corrente (giorno, mese, anno, ora del momento in cui viene visualizzata la pagina).
Con la variabile 'new_years_datè e i calcoli successivi ricaviamo invece il valore del primo giorno dell'anno successivo.
La variabile 'days_left' contiene, infine, il risultato dell'operazione che restituisce i giorni di intervallo.
Per finire, andiamo a scrivere il tutto nella pagina con il classico 'document.writè. Qui possiamo formattare il teso come vogliamo. L'espressione condizionale serve a creare due varianti del testo nel caso manchino 1 o più giorni alla fine dell'anno.