web

calendario
Creare e manipolare un oggetto
Date in Javascript.

         il mio computer  
 

Oggetto Date di javascript

Pubblicato il: 5-7-2019

Ultima Modifica: 14-12-2024

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 copia
 

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 copia
 

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 copia
 

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.