Conoscere la data corrente
Per conoscere la data corrente vengono usati i metodi getDate(), getMonth()e getFullYear()
che restituiscono rispettivamente il giorno (numero del mese), il mese e l'anno.
//Inizializzazione dell'oggetto Date
new Date();
dat = new Date();
//Restituzione
delle informazioni
gg = dat.getDate();
mm = (dat.getMonth() + 1);
aa = dat.getFullYear();
Per default Flash restituisce il valore di getMonth()
partendo da 0 anziché 1, quindi il mese di gennaio viene considerato come 0, febbraio 1, marzo 2 ecc...
Ecco il perché quindi dell'espressione (dat.getMonth()+ 1)
.
Ora basta impostare la data in un formato a noi conosciuto (gg/mm/aa) concatenando le 3 variabili in questo modo:
//Imposto la data alla formattazione italiana
data_corr= gg + "/" + mm + "/" + aa
Il risultato è che la variabile data_corr
ha al suo interno una data del genere: 23/07/2001. Lo stesso risultato si avrebbe con:
data_corr= dat.getDate()+ "/" + dat.getMonth() + "/" + dat.getFullYear()
Conoscere l'ora corrente
Per conoscere l'ora corrente, il procedimento è lo stesso, ma vengono utilizzati i metodi getHours()
, getMinutes()
e getSeconds()
(e getMilliseconds()
se vogliamo essere pignoli) per restituire l'ora, i minuti ed i secondi. Il procedimento da adottare è lo stesso usato per la data:
//Inizializzazione dell'oggetto Date
new Date();
dat = new Date();
//Restituzione
delle informazioni
hh = dat.getHours();
mn = dat.getMinutes();
ss = dat.getSeconds();
//Formatto l'ora
ora_corr= hh + "." + mn + "." + ss
A questo punto, abbiamo due variabili (data_corr e ora_corr) contenenti la data e l'ora correnti. L'unico dato che ci manca è il giorno della settimana.
Conoscere il giorno della settimana
Utilizziamo il metodo getDay(), che restituisce il numero del giorno della settimana, e creiamo un piccolo script visualizzare il nome anziché il numero:
//Assegno
il numero di giorno
giorno = dat.getDay();
//Assegno
il nome in base al numero del giorno
if (giorno == 1) {
sett = "lunedì";
} else if (giorno == 2) {
sett = "martedì";
} else if (giorno == 3) {
sett = "mercoledì";
} else if (giorno == 4) {
sett = "giovedì";
} else if (giorno == 5) {
sett = "venerdì";
} else if (giorno == 6) {
sett = "sabato";
} else if (giorno == 0) {
sett = "domenica";
}
Ecco i nostri risultati:
Ora di Greenwich in base UTC
Flash mette a disposizione anche alcuni metodi che restituiscono data e ora in base all'ora del meridiano Greenwich (Tempo Universale Coordinato). In questo modo, la data/ora viene restituita in base a questo fuso orario (in Italia c'è 1 ora di fuso). I metodi da utilizzare per la data sono: getUTCDate(),
. Mentre per l'ora:
getUTC Month()e getUTC FullYear()getUTCHours(),
.
getUTCMinutes() e getUTCSeconds()
La sintassi da utilizzare è la stessa vista nel corso di questa lezione.
Attenzione!
Utilizzando l'oggetto Date, è possibile conoscere la data e l'ora correnti, ma partendo sempre dalle impostazioni che l'utente ha sul proprio computer. Purtroppo l'oggetto Date è dipendente dalla data di sistema dell'utente. Se un utente che visita il sito ha settato una data sbagliata sul proprio pc, Flash preleva questo valore per poterla utilizzare nelle azioni. Alcuni script quindi, possono non essere corretti. Il modo migliore per ovviare a questo inconveniente è quello di interagire con uno script CGI, ASP o PHP in modo da rendere indipendente la data/ora (che vengono inviate direttamente dal server).