Gestione date in JavaScript

appunti di js

In questo settore cercherò di approfondire il problema della gestione della date in JavaScript.

Come in ogni linguaggio, anche in JavaScript è possibile usare e gestire l'oggetto date permette di gestire in maniera semplice tutto quanto riguarda le date.

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 contenente la data e l'ora corrente, altrimenti possiamo fornire una data valida:
var data = new Date("10-7-2007");

oppure, ed è quello più utile e pratico, fornendo tutti i valori coinvolti in una data-ora completa:
var data = new Date(anno, mese, giorno, ora, minuti, secondi, millisecondi)

Anche se di scarso interesse segue l'elenco dei nomi dei mesi e dei giorni della settimana ed i relativi indici che JavaScript gli attribuisce.

               
0 JAN Jan January Gennaio 0 Monday Lunedì
1 FEB Feb February Febbraio 1 Tuesday Martedì
2 MAR Mar March Marzo 2 Wednesday Mercoledì
3 APR Apr April Aprile 3 Thursday Giovedì
4 MAY May May Maggio 4 Friday Venerdì
5 JUN Jun June Giugno 5 Saturday Sabato
6 JUL Jul July Luglio 6 Sunday Domenica
7 AUG Aug August Agosto
8 SEP Sep September Settembre
9 OCT Oct October Ottobre
10 NOV Nov November Novembre
11 DEC Dec December Dicembre

C'è poi la possibilità, una volta creato un oggetto date, di manipolare una data.
Come si vedrà più in dettaglio in altre pagine, è possibile cambiare in modo semplice le parti che compongono le date.
Qui di seguito una breve lista di date modificate nei giorni o nei mesi.

NB: Dagli esempi esposti c'è da fare una osservazione per quanto riguarda il mese.
A prima vista sembra una incongruenza ma in realtà è una semplice conseguenza del fatto che in JS il conteggio dei mesi (come quello dei giorni della settimana) inizia da 0 (zero) e non da 1 (uno).

Gli arrotondamenti che si faranno, se necessario saranno:

  • floor(): Arrotonda un numero decimale per difetto
  • ceil(): Arrotonda un numero decimale per eccesso
  • round(): Arrotonda un numero decimale per eccesso (se il decimale è uguale o maggiore di 5) o per difetto (se il decimale è inferiore a 5)

Per stampare gli orari verranno eseguiti questi metodi:

  • Estrarre le singole parti della data e assemblarle in una stringa personalizzata.
  • Usare toLocaleString() per stampare la data completa nel formato standard di Javascript.
  • Usare toLocaleDateString() per stampare la sola data.
  • Usare toLocaleTimeString() per stampare il solo orario.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var data = new Date();
var gg, mm, aaaa, Hh, Mm, Ss
gg = data.getDate();
mm = data.getMonth() + 1;
aaaa = data.getFullYear();
Hh = data.getHours();
Mm = data.getMinutes();
Ss = data.getSeconds();
document.write(data + "<br />");
document.write("Data e ora personalizzabili: " 
    + gg + "/" + mm + "/" + aaaa + " " 
    + Hh + ":" + Mm + ":" + Ss + "<br />");
document.write("Data completa: " + data.toLocaleString() + "<br />");
document.write("Solo data: " + data.toLocaleDateString() + "<br />");
document.write("Solo orario: " + data.toLocaleTimeString() + "<br />");

Se è possibile vedremo anche molte altre cose su come manipolare ed operare con le date.

 

 

settore tecnico il sito di lorettabweb il Forum di sostegno
il forum il forum il forum