Gestire date e orari in JavaScript è relativamente semplice grazie all’oggetto integrato Date. Ecco alcuni esempi.
Creare un nuovo oggetto Data:
```
let dataOggi = new Date();
```
L’oggetto data creato può essere utilizzato per chiamare i metodi per ottenere o impostare specifiche parti della data e dell’ora, come:
```
let anno = dataOggi.getFullYear();
let mese = dataOggi.getMonth(); // Nota: i mesi iniziano da 0 (Gennaio), non da 1.
let giorno = dataOggi.getDate();
let ora = dataOggi.getHours();
let minuto = dataOggi.getMinutes();
let secondo = dataOggi.getSeconds();
```
Se vuoi impostare specifiche parti della data e dell’ora, puoi usare metodi simili:
```
dataOggi.setFullYear(2020);
dataOgji.setMonth(11); // Imposta il mese a Dicembre
dataOgji.setDate(31);
dataOgji.setHours(23);
dataOgji.setMinutes(59);
dataOgji.setSeconds(59);
```
Per formattare la data e l’ora in una stringa, puoi usare il metodo `toLocaleString()`, che la formatta in base alla lingua del browser dell’utente:
```
let dataFormattata = dataOgji.toLocaleString();
```
Ci sono anche metodi specializzati come `toLocaleDateString()` e `toLocaleTimeString()` che formattano solo la data o solo l’ora.
E’ possibile passare anche un secondo parametro a `toLocaleString()`, `toLocaleDateString()`, `toLocaleDateString()` per personalizzare ulteriormente il formato. Ad esempio:
```
let opzioni = { year: ‘numeric’, month: ‘long’, day: ‘numeric’ };
let dataFormattata = dataOgji.toLocaleDateString(‘it-IT’, opzioni);
```
Infine, Date può essere usato per fare calcoli con le date. Ad esempio, per trovare la differenza in giorni tra due date:
```
let data1 = new Date(2020, 0, 1); // 1 Gennaio 2020
let data2 = new Date(2020, 11, 31); // 31 Dicembre 2020
let differenzaInMillesecondi = data2 – data1;
let differenzaInGiorni = differenzaInMillesecondi / (1000*60*60*24);
```
Nota: JavaScript utilizza il tempo Unix, che misura il tempo in millisecondi da mezzanotte del 1° Gennaio 1970 UTC. Quindi sottraendo due oggetti data otterrai la differenza in millisecondi.