JavaScript/Oggetto Date: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Ramac (discussione | contributi)
m Nuova pagina: {{JavaScript}} L'oggetto '''Date''' permette di gestire in modo semplice e veloce le date. Oggetto Date
 
Ramac (discussione | contributi)
apliamento pagina
Riga 1: Riga 1:
{{JavaScript}}
{{JavaScript}}
L'oggetto '''Date''' permette di gestire in modo semplice e veloce le date; nella pratica, un istanza della classe Date identifica una data e le funzionalità della classe permettono di aggiungere o sottrarre anni, mesi o giorni o recuperarne il valore.


== Costruttore ==
L'oggetto '''Date''' permette di gestire in modo semplice e veloce le date.
Il metodo più semplice per creare una data è:
<source lang=javascript>var data = new Date()</source>
Nel caso non si passino valori al costruttore, verrà creata un oggetto Date contente la data e l'ora corrente.<br/>
Altrimenti possiamo creare date precise con altri metodi:
*fornendo il numero di millisecondi passati dalla mezzanotte del primo gennaio 1970 (questo metodo è macchinoso ma è quello che più si avvicina al metodo con cui il computer ragiona con le date)
*fornendo una stringa che indichi la data, ad esempio:
<source lang=javascript>var data = new Date("10 July 2007");
var data2 = new Date("10-7-2007");
</source>
:Usando il metodo descritto nel secondo esempio, bisogna fare attenzione in quando, essendo JavaScript eseguito con le impostazioni del client, per un utente USA invece che il 10 luglio 2007 la data sarà 7 ottobre 2007
*l'ultimo metodo è il migliore in quanto affidabilità e praticità messe assieme. La sintassi è:
<source lang=javascript>var data = new Date(anno, mese, giorno, ora, minuti, secondi, millisecondi)</source>
:Crea un oggetto data in base ai parametri passati; normalmente è possibile omettere l'ultimo parametro. Attenzione, gennaio è il mese 0 e non 1 e di conseguenza anche gli altri cambiano.


== Metodi ==
=== Recuperare i valori della data ===
*<code>getDay()</code>: restituisce un numero da 0 a 6 corrispondente al giorno della settimana della data (Domenica è 0, Lunedì 1, ... Venerdì 6)
*<code>getDate()</code>: restituisce il giorno del mese
*<code>getMont()</code>: restituisce il numero del mese (Gennaio è 0, Dicembre è 11)
*<code>getFullYear()</code>: restituisce il numero dell'anno con quattro cifre.
Visti questi metodi, possiamo già creare una funzione che restituisca una stringa contente la data formattata. La funzione prende come parametro un oggetto Date e formatta la data in esso contenuta:
<source lang=javascript>
function formattaData(data) {
var giornoS = data.getDay();
var giornoM = data.getDate();
var mese = data.getMonth();
var anno = data.getFullYear();
switch (giornoS) { //converte il numero in nome del giorno
case 0: //domenica
giornoS = "domenica";
break;
case 1:
giornoS = "lunedì";
break;
case 2:
giornoS = "martedì";
break;
case 3:
giornoS = "mercoledì";
break;
case 4:
giornoS = "giovedì";
break;
case 5:
giornoS = "venerdì";
break;
case 6: //sabato
giornoS = "sabato";
break;
}

switch (mese) { //converte in numero in nome del mese
case 0:
mese = "gennaio";
break;
case 1:
mese = "febbraio";
break;
case 2:
mese = "marzo";
break;
case 3:
mese = "aprile";
break;
case 4:
mese = "maggio";
break;
case 5:
mese = "giugno";
break;
case 6:
mese = "luglio";
break;
case 7:
mese = "agosto";
break;
case 8:
mese = "settembre";
break;
case 9:
mese = "ottobre";
break;
case 10:
mese = "gennaio";
break;
case 11:
mese = "novembre";
break;
}
//es. martedì 9 luglio 2007
return giornoS + " " + giornoM + " " + mese + " " + anno;
}
</source>
Possiamo usare la funzione in questi modi:
<source lang=javascript>
var d1 = new Date () //oggi
var d2 = new Date (2007, 6, 10);
document.write(formattaData(d1));
document.write(formattaData(d2));
</source>
[[Categoria:JavaScript|Oggetto Date]]
[[Categoria:JavaScript|Oggetto Date]]

Versione delle 21:48, 10 lug 2007

Indice del libro

L'oggetto Date permette di gestire in modo semplice e veloce le date; nella pratica, un istanza della classe Date identifica una data e le funzionalità della classe permettono di aggiungere o sottrarre anni, mesi o giorni o recuperarne il valore.

Costruttore

Il metodo più semplice per creare una data è:

var data = new Date()

Nel caso non si passino valori al costruttore, verrà creata un oggetto Date contente la data e l'ora corrente.
Altrimenti possiamo creare date precise con altri metodi:

  • fornendo il numero di millisecondi passati dalla mezzanotte del primo gennaio 1970 (questo metodo è macchinoso ma è quello che più si avvicina al metodo con cui il computer ragiona con le date)
  • fornendo una stringa che indichi la data, ad esempio:
var data = new Date("10 July 2007");
var data2 = new Date("10-7-2007");
Usando il metodo descritto nel secondo esempio, bisogna fare attenzione in quando, essendo JavaScript eseguito con le impostazioni del client, per un utente USA invece che il 10 luglio 2007 la data sarà 7 ottobre 2007
  • l'ultimo metodo è il migliore in quanto affidabilità e praticità messe assieme. La sintassi è:
var data = new Date(anno, mese, giorno, ora, minuti, secondi, millisecondi)
Crea un oggetto data in base ai parametri passati; normalmente è possibile omettere l'ultimo parametro. Attenzione, gennaio è il mese 0 e non 1 e di conseguenza anche gli altri cambiano.

Metodi

Recuperare i valori della data

  • getDay(): restituisce un numero da 0 a 6 corrispondente al giorno della settimana della data (Domenica è 0, Lunedì 1, ... Venerdì 6)
  • getDate(): restituisce il giorno del mese
  • getMont(): restituisce il numero del mese (Gennaio è 0, Dicembre è 11)
  • getFullYear(): restituisce il numero dell'anno con quattro cifre.

Visti questi metodi, possiamo già creare una funzione che restituisca una stringa contente la data formattata. La funzione prende come parametro un oggetto Date e formatta la data in esso contenuta:

function formattaData(data) {
 var giornoS = data.getDay();
 var giornoM = data.getDate();
 var mese = data.getMonth();
 var anno = data.getFullYear();
 
 switch (giornoS) { //converte il numero in nome del giorno
  case 0: //domenica
   giornoS = "domenica";
   break;
  case 1: 
   giornoS = "lunedì";
   break;
  case 2:
   giornoS = "martedì";
   break;
  case 3:
   giornoS = "mercoledì";
   break;
  case 4:
   giornoS = "giovedì";
   break;
  case 5:
   giornoS = "venerdì";
   break;
  case 6: //sabato
   giornoS = "sabato";
   break;
 }

 switch (mese) { //converte in numero in nome del mese
  case 0:
   mese = "gennaio";
   break;
  case 1:
   mese = "febbraio";
   break;
  case 2:
   mese = "marzo";
   break;
  case 3:
   mese = "aprile";
   break;
  case 4:
   mese = "maggio";
   break;
  case 5:
   mese = "giugno";
   break;
  case 6:
   mese = "luglio";
   break;
  case 7:
   mese = "agosto";
   break;
  case 8:
   mese = "settembre";
   break;
  case 9:
   mese = "ottobre";
   break;
  case 10:
   mese = "gennaio";
   break;
  case 11:
   mese = "novembre";
   break;
 }
 //es. martedì 9 luglio 2007
 return giornoS + " " + giornoM + " " + mese + " " + anno;
}

Possiamo usare la funzione in questi modi:

var d1 = new Date () //oggi
var d2 = new Date (2007, 6, 10);
document.write(formattaData(d1));
document.write(formattaData(d2));