L'oggetto Date di javascript permette la gestione delle date e delle ore, creando una istanza di questo oggetto tramite il suo
costruttore è possibile accedere ad un nutrito numero di metodi che permettono di aggiungere, sottrarre o leggere giorni mesi anni, ore minuti secondi e
millisecondi all'istanza creata. Dunque la prima cosa necessaria da fare per lavorare con questo oggetto è quella di creare una istanza tramite il costruttore
stesso. E' possibile creare l'istanza in quattro differenti modi che vediamo descritti quì sotto.
Creare una istanza dell'oggetto Date
var d = new Date() Questo è il modo più veloce per creare un oggetto
Date, nell'oggetto sarà presente la data e l'ora corrente (l'ora è costituita da ore minuti secondi e millisecondi)
var d = new Date(millisecondi) Dove il parametro millisecondi rappresenta il numero di millisecondi trascorsi dal 1 gennaio
1970 (si tratta del metodo più macchinoso di creare una data, ma è il modo che più si avvicina al metodo che il computer usa nel ragionamento delle date)
var d = new Date("5 ottobre 2012") var d = new Date("5-10-2012") Questi due modi risultano molto
semplici, in pratica nel primo basta inserire una stringa contenente il giorno, il mese in lettere e l'anno, nel secondo modo invece il giorno, il mese e l'anno
tutti in cifre e separati da un trattino. Ma in questo secondo modo bisogna fare attenzione perchè siccome javascript viene eseguito secondo le impostazioni del
client per un utente USA non sarà il 5 ottobre 2012 bensì sarà maggio 10 2012 ( mese maggio giorno 10, perchè negli stati uniti la data si
rappresenta con mese, giorno, anno)
var d = new Date(anno, mese, giorno[, ora[, minuti[,
secondi[, millisecondi]]]]) Questo è il modo più semplice di creare una data. Quì i parametri vanno passati tutti in cifre, quindi fare
attenzione per quanto riguarda il mese perchè gennaio è rappresentato dal numero 0 (zero, perciò i mesi vanno da 0 a 11), mentre invece il giorno del mese và da
1 a 31. Inoltre possiamo osservare che non tutti i parametri sono obbligatori, i parametri contenuti tra parentesi quadre sono facoltativi.
Recuperare i valori della data
Per recuperare il valore di giorno della settimana, giorno del mese, mese e anno l'oggetto Date
mette a disposizione i seguenti otto metodi. I primi quattro esposti lavorano sulla data locale del computer dell'utente o della pagina web che viene scaricata,
i restanti quattro ricalcano i primi quattro, ma lavorano sulla data basandosi sul meridiano zero UTC (Universal Time
Coordination) precedentemente nota come GMT (Greenwich Mean Time) passante per la famosa località di Greenwich. Se
il computer dell'utente è configurato bene, secondo la località in cui si trova questi ultimi quattro metodi restituiscono la data locale al computer client.
Metodo |
Descrizione |
getDay() |
Restituisce un numero da 1 a 6 che corrisponde al giorno della settimana (0=domenica 1=lunedì ..... 6=sabato |
getDate() |
Restituisce il giorno del mese da 1 a 31 |
getMonth() |
Restituisce il mese (Gennaio=0 Dicembre=11 |
getFullYear() |
Restituisce l'anno a quattro cifre |
getUTCDay() |
Questi quattro metodi sono nell'ordine in cui si trovano corrispondenti ai quattro metodi sopra. Ma lavorano sulla
data basandosi sul meridiano zero UTC (Universal Time Coordination) precedentemente nota come GMT (Greenwich Mean Time) passante per la famosa località
Greenwich. |
getUTCDate() |
getUTCMonth() |
getUTCFullYear() |
Vediamo adesso quì sotto un esempio di codice, basta copiarlo, incollarlo in una pagina web e mandarlo in esecuzione.
Esempio che recupera e mostra i valori di settimana, giorno, mese e anno |
|
|
Impostare i valori di data
Abbiamo visto sopra come creare una data e recuperare i suoi valori, adesso quì sotto vediamo i metodi per impostare i valori di una
data.
Metodo |
Descrizione |
setDate(numData) |
Imposta il giorno del mese (1 ... 31) se si passa un valore superiore ad esempio 32 automaticamente viene modificato anche il
mese al primo giorno del successivo. |
setMonth(numMese[,valData]) |
Imposta il mese, per il parametro numMese (0=Gennaio ... 11=Dicembre) Il parametro valData è facoltativo e rappresenta
il giorno del mese (1 ... 31), se omesso viene usato il giorno restituito da una chiamata al metodo getDate(). |
setFullYear(anno[,mese[,giorno]]) |
Per tutti i metodi set che prevedono argomenti facotativi quando non vengono specificati vengono utilizzati i valori restituiti
dai metodi get. |
setUTCDate(numData) |
Questi tre metodi sono nell'ordine in cui si trovano corrispondenti ai quattro metodi sopra. Ma lavorano sulla
data basandosi sul meridiano zero UTC (Universal Time Coordination) precedentemente nota come GMT (Greenwich Mean Time) passante per la famosa località
Greenwich. |
setUTCMonth(numMese[,valData]) |
setUTCFullYear(anno[,mese[,giorno]]) |
Nell'esempio sottostante creo un nuovo oggetto Date, poi imposto la data al 16 agosto 2000.
In questo esempio imposto la data al 16 agosto 2000 |
|
|
Adesso vediamo i metodi che servono a leggere l'ora. Quì sotto la lista completa.
Metodo |
Descrizione |
getHours() |
Restituisce l'ora presente in un oggetto Date. Il valore restituito è un intero compreso tra 0 e 23. |
getMinutes() |
Restituisce i minuti presenti in un oggetto Date. Il valore restituito è un intero compreso tra 0 e 59 |
getSeconds() |
Restituisce i secondi presenti in un oggetto Date. Il valore restituito è un intero compreso tra 0 e 59. |
getMilliseconds() |
Restituisce il numero di millisecondi compresi in un oggetto Date. Il valore restituito è un intero compreso tra 0 e 999. |
getUTCHours() |
Questi quattro metodi sono nell'ordine in cui si trovano corrispondenti ai quattro metodi sopra. Ma lavorano sulla
data basandosi sul meridiano zero UTC (Universal Time Coordination) precedentemente nota come GMT (Greenwich Mean Time) passante per la famosa località
Greenwich. |
getUTCMinutes() |
getUTCSeconds() |
getUTCMilliseconds() |
Quì sotto un esempio di codice che legge l'ora attuale da un oggetto Date. Copiare ed incollare il seguente codice in un pagina con
estensione html e mandarlo in esecuzione.
Legge l'ora attuale di un oggetto Date |
|
|
E quì sotto vediamo i metodi che servono a settare l'ora.
Metodo |
Descrizione |
setHours(ore[,minuti)[,secondi[,millisecondi]]]) |
Imposta l'ora in un oggetto Date. Il parametro ore è obbligatorio, i restanti parametri sono facoltativi, ma ad esempio se
viene specificato il parametro secondi ovviamente diventa obbligatorio specificare anche il parametro minuti che viene prima, inoltre ricordo che
quando un parametro facoltativo non viene specificato a suo posto verrà utilizzato il valore restituito dai metodi get, quindi ad esempio se il
parametro secondi non viene specificato al suo posto verrà utilizzato il valore restituito dal metodo getSeconds(). |
setMinutes(minuti[,secondi[,millisecondi]]) |
Imposta i minuti in un oggetto Date. Per i seguenti due parametri valgono le stesse regole del metodo sopra. |
setSeconds(secondi[,millisecondi]) |
Imposta i secondi in un oggetto Date.Anche quì valgono le stesse regole dei due metodi sopra |
setMilliseconds(millisecondi) |
Imposta i millisecondi di un oggetto Date. |
setUTCHours(minuti[,secondi[,millisecondi]]) |
Questi quattro metodi sono nell'ordine in cui si trovano corrispondenti ai quattro metodi sopra. Ma lavorano sulla
data basandosi sul meridiano zero UTC (Universal Time Coordination) precedentemente nota come GMT (Greenwich Mean Time) passante per la famosa località
Greenwich. |
setUTCMinutes(minuti[,secondi[,millisecondi]]) |
setUTCSecondes(secondi[,millisecondi]) |
setUTCMilliseconds(millisecondi) |
Per questi ultimi metodi presentati non proporrò un esempio perchè se si è letto attentamente tutto sopra sono sicuro che apparirà ovvio
l'utilizzo.
Per concludere presento quì sotto i restanti metodi del'oggetto Date e una breve descrizione.
Metodo |
Descrizione |
getTime() |
Restituisce il valore dell'orario in un oggetto Date. Restituisce un valore intero che rappresenta i millisecondi trascorsi
dalla mezzanotte del 1 gennaio 1970 e il valore dell'ora nell'oggetto Date. L'intervallo approssimativo è compreso tra 285.616 anni prima e 285.616 anni
dopo la mezzanotte del 1 gennaio 1970. I numeri negativi indicano date precedenti al 1970. |
getTimezoneOffset() |
Restituisce la differenza in minuti tra l'ora impostata nel computer host e il tempo universale coordinato (TUC). I valori si
riferiscono al computer in cui viene eseguito lo script. Se il metodo viene eseguito su un computer server il valore sarà riferito al computer server,
se invece viene eseguito su di un computer client il valore sarà riferito al computer client. |
getVarDate() |
Restituisce il valore VT_DATE in un oggetto Date. Questo metodo viene utilizzato nel caso di interazione con oggetti ActiveX o
con altri oggetti che accettano o restituiscono valori di data in formato VT_DATE. |
setTime(millisecondi) |
Imposta i valori di data e ora nell'oggetto Date. L'argomento millisecondi è un valore intero che rappresenta il numero di
millisecondi trascorsi dalla mezzanote del 1 gennaio 1970. Se millisecondi è un valore negativo rappresenta una data precedente al 1 gennaio 1970 |
toGMTString() |
Converte una data in stringa in base alla convenzione GMT (Greenwich Mean Time). Questo metodo è stato incluso per
compatibilità con le versioni precedenti, è invece consigliabile utilizzare il metodo toUTCString(). |
toLocaleString() |
Converte una data in una stringa in base alle impostazioni internazionali specificate nel sistema in uso. |
toUTCString() |
Converte una data in una stringa utilizzando il tempo universale coordinato (TUC). |
toString([base]) |
Restituisce la rappresentazione in forma di stringa di un oggetto. Il parametro [base] è facoltativo, se utilizzato consente di
specificare una base per la conversione di valori numerici in stringhe. |
valueOf() |
Restituisce il valore primitivo dell'oggetto specificato. |
parse(data) |
Analizza una stringa contenente una data e restituisce il numero di millisecondi compresi tra la mezzanotte del 1 gennaio 1970
e tale data. Si tratta di un metodo statico, non è quindi necessario creare un oggetto Date, ma per richiamarlo basta scrivere Date.parse(data). |
UTC(anno,mese,giorno[,ore[,minuti[,secondi[,millisecondi]]]]) |
Anche questo è un metodo statico, per richiamarlo và quindi utilizzato lo stesso modo del metodo parse(). I primi tre
parametri, anno, mese e giorno sono obbligatori, invece i restanti tre sono facoltativi. Restituisce il numero di millisecondi trascorsi dalla
mezzanotte del 1 gennaio 1970 e la data specificata. |
|