Argomenti trattati: la gestione delle date.
L'oggetto Date è un oggetto incorporato che rappresenta una data o un'ora.
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.
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); |
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