JavaScript passo passo - L'oggetto Date

L'oggetto Date

Argomenti trattati: la gestione delle date.

L'oggetto Date è un oggetto incorporato che rappresenta una data o un'ora.

Metodi
getDate()

var x=new Date; x.getDate()

Restituisce la data come numero di giorno del mese visualizza la data:

 

getDay()

var x=new Date; x.getDay()

Restituisce la data come numero del giorno della settimana.
!

da zero (domenica) a sei, sabato

!

visualizza il numero del giorno della settimana:

 

getFullYear()

var x=new Date; x.getFullYear()

restituisce l'anno di sistema con 4 cifre visualizza l'anno:

 

getHours()

var x=new Date; x.getHours()

restituisce l'ora di sistema, a partire da zero fino a 23
!

non contempla perciò le ore "24"

!

visualizza l'ora:

 

getMilliseconds()

var x=new Date; x.getMilliseconds()

per ottenere i millesimi di secondo visualizza i millesimi di secondo:

 

getMinutes()

var x=new Date; x.getMinutes()

restituisce i minuti di sistema, a partire da zero fino a 59 visualizza i minuti:

 

getMonth()

 var x=new Date; x.getMonth()

restituisce il  mese di sistema come numero.

!
da zero a 11

!

visualizza il numero del mese corrente:
 

come vedi, dovendo ottenere il mese in base 1, occorre aggiungere 1 alla funzione

getSeconds()

var x=new Date; x.getSeconds()

restituisce i secondi nell'orologio di sistema da 0 a 59 visualizza i secondi:

 

getTime()

var x=new Date; x.getTime()

Restituisce il numero di millesimi di secondo trascorsi dalla data base

la data base è per convenzione il 1° Gennaio 1970, alle ore 00:00:00

getTimeZoneOffset

 var x=new Date; x.getTimeZoneOFFset()

Restituisce la differenza in minuti dall'ora GMT all'ora locale visualizza la differenza:

l'italia e' un'ora avanti rispetto a greenwich, per questo il valore e' negativo

getUTCDate()

var x=new Date; x.getUTCDate()

Restituisce il giorno del mese come il metodo getDate()
visualizza di nuovo getDate()

visualizza il giorno del mese:

 

getUTCDay()

var x=new Date; x.getUTCDay()

Restituisce il giorno della settimana come il metodo getDay()
visualizza di nuovo getDay()

visualizza il giorno della settimana:

 

getUTCFullYear

var x=new Date; x.getUTCDay()

Restituisce il giorno della settimana come il metodo getFullYear, ma in tempo universale()
visualizza di nuovo getFullYear()

visualizza l'anno:

 

getUTCHours

var x=new Date; x.getUTCHours()

Restituisce l'ora  in tempo universale()

visualizza l'ora:

 

getUTCMilliseconds

var x=new Date; x.getUTCHours()

Restituisce i millisecondi in tempo universale  
getUTCMinutes

var x=new Date; x.getUTCMinutes()

Restituisce i minuti in tempo universale   
getUTCMonth

var x=new Date; x.getUTCMonth()

Restituisce il mese in tempo universale, con le stesse caratteristiche del metodo getMonth()   
getUTCSeconds

var x=new Date; x.getUTCSeconds()

Restituisce i secondi in tempo universale   
getYear()

var x=new Date; x.getYear()

Restituisce l'anno in 4 cifre
! Solo MSIE: per ottenere l'anno corrente in 4 cifre con Netscape Navigator è necessario sommare 1900 al risultato del metodo!
visualizza l'anno
setDate() Imposta la data come numero di giorno del mese visualizza l'esempio alla fine della 
descrizione dei metodi
setFullYear() Imposta l'anno  
setHours() Imposta l'ora  
setMilliseconds() Imposta i millisecondi  
setMinutes() Imposta i minuti  
setMonth() Imposta il mese  
setSeconds() Imposta i secondi  
setTime() Imposta il numero di secondi trascorsi dalla data base la data base è per convenzione il 1° Gennaio 1970, alle ore 00:00:00
setUTCDate() Imposta il giorno del mese in tempo universale  
setUTCFullYear() imposta l'anno come numero a 4 cifre in tempo universale  
setUTCHours() Imposta l'ora in tempo universale   
setUTCMilliseconds() Imposta i secondi in tempo universale  
setUTCMinutes() Imposta i minuti in tempo universale  
setUTCMonth() Imposta il mese in tempo universale  
setUTCSeconds() Imposta i secondi in tempo universale  
toGMTString() Converte un oggetto Date in una stringa, a partire dal fuso orario GMT  
toLocalString() Converte un oggetto Date in una stringa, a partire dall'ora locale  
toString() Converte un oggetto Date in una stringa  
toUTCString() Converte un oggetto date in una stringa in base al tempo universale  
valueOf() Converte il formato di qualunque oggetto Date in millisecondi  

Creando un nuovo oggetto Date, si possono passare dei parametri alla nuova istanza:

var miadata=new Date()
//corrisponde alla  data di sistema

 

var miadata=new Date(2001,10,17,12,53,00)
//corrisponde alla  data: 17 novembre 2001 alle ore 12:53:00;

I valori omessi vengono impostati automaticamente a zero.

La sintassi completa è la seguente:

var miavariabile= new Date(anno, mese, giorno, ore,minuti,secondi);

Se si vuole aggiungere un metodo personalizzato ad un oggetto Date, è possibile utilizzare la proprietà prototype. Come visto, i mesi partono dalla base 0; nel seguente esempio, si vuole ottenere il numero del mese così come normalmente scritto, dove 1 corrisponde a Gennaio come primo mese dell'anno sino a Dicembre come dodicesimo:

<script Language="JavaScript">
// voglio un nuovo metodo per i miei oggetti Date: lo chiamo NomeMese
     Date.prototype.NomeMese=NomeMese;
// notare che quando viene creato un nuovo metodo, non devo usare le parentesi!
     function NomeMese()
     {
          var numero= this.getMonth();
          //La variabile numero corrisponde al numero del mese a partire da zero
         
var mese=new Array(12);
          mese[0]="gen";
          mese[1]="feb";
          mese[2]="mar";
          mese[3]="apr";
          mese[4]="mag";
          mese[5]="giu";
          mese[6]="lug";
          mese[7]="ago";
          mese[8]="set";
          mese[9]="ott";
          mese[10]="nov";
          mese[11]="dic";
          /* creo un Array contenente 12 elementi, cui corrispondono delle stringhe relative
              al nome abbreviato dei mesi in Italia */

          return mese[numero];
          //La funzione deve restituire il nome del mese corrispondente a numero
     
}
MioMese=new Date();
// istanzio un nuovo oggetto Date() e applico il nuovo metodo
alert(MioMese.NomeMese())
</script>

Potrete accedere al codice completo visualizzando il codice HTML della pagina relativa al collegamento sottostante.

visualizza esempio

function Imposta(data)
{
     var miadata, datalocale;
     /* creo una funzione che chiamo imposta, il cui parametro sarà un numero qualsiasi, 
         che indicherà il giorno del mese */

     miadata = new Date();
     // creo una nuova data, che sarà quella corrente
     miadata.setDate(data);
     // imposto la data al giorno passato dalla variabile "data"
     datalocale=miadata.toLocaleString();
     /* imposto la data di sistema, ovvero in un sistema operativo in Italiano, 
         una data il cui formato è in Italiano */

     return(datalocale);
     // la funzione deve restituire il valore di "datalocale"
}

var miomese=18;
// provo a passare il valore 18, e verifico con l'alert cosa il valore di "x"
var x=Imposta(miomese);
alert(x);

 visualizza esempio

Allo stesso modo, è possibile utilizzare i metodi analoghi per l'impostazione di mese, ora, minuti, secondi...

Poiché JavaScript considera le date nell'ordine dei millisecondi, può essere anche utilizzato il metodo parse(data_valida), che trasforma una stringa in millisecondi, dove data_valida è una stringa che indica una data del tipo:
("November 18, 2001 20:41").

Oggetti incorporati JavaScript


Torna all'inizio | Home