2.1 Oggetto Date
Lavorare con date e numeri è una parte fondamentale nello sviluppo di applicazioni web. JavaScript offre oggetti e metodi integrati per manipolare date e numeri. In questa lezione esamineremo l'oggetto Date, i suoi metodi e i modi di formattare date e numeri.
L'oggetto Date in JavaScript rappresenta la data e l'ora. Esso possiede molti metodi per lavorare con le date, compresi ottenere la data e l'ora attuali, impostare una data e un'ora, oltre alla formattazione.
Creazione di un oggetto Date
Date() senza parametri, esso conterrà
la data e l'ora attuali — il momento della sua creazione.
Puoi creare un oggetto Date in diversi modi.
1. Data e ora attuali:
const now = new Date();
console.log(now); // Mostra la data e ora attuali
2. Impostazione di una data e ora specifica:
const specificDate = new Date('2024-07-07T10:00:00');
console.log(specificDate); // Mostra la data del 7 luglio 2024
3. Impostazione di data e ora usando valori numerici:
const anotherDate = new Date(2024, 6, 7, 10, 0, 0);
console.log(anotherDate); // Mostra la data del 7 luglio 2024
2.2 Metodi dell'oggetto Date()
Ottenere i componenti della data:
getFullYear(): ottieni l'anno (quattro cifre)getMonth(): ottieni il mese (da 0 a 11)getDate(): ottieni il giorno del mese (da 1 a 31)getHours(): ottieni le ore (da 0 a 23)getMinutes(): ottieni i minuti (da 0 a 59)getSeconds(): ottieni i secondi (da 0 a 59)
Esempio:
const now = new Date();
console.log(now.getFullYear()); // Anno corrente
console.log(now.getMonth()); // Mese corrente (-1)
console.log(now.getDate()); // Giorno corrente
console.log(now.getHours()); // Ora corrente
console.log(now.getMinutes()); // Minuti correnti
console.log(now.getSeconds()); // Secondi correnti
Impostare i componenti della data:
setFullYear(year): imposta l'annosetMonth(month): imposta il mesesetDate(day): imposta il giorno del mesesetHours(hours): imposta le oresetMinutes(minutes): imposta i minutisetSeconds(seconds): imposta i secondi
Esempio:
const date = new Date();
date.setFullYear(2025);
date.setMonth(0); // Gennaio
date.setDate(15);
date.setHours(12);
date.setMinutes(30);
date.setSeconds(45);
console.log(date.toString());
2.3 Formattazione delle date
JavaScript offre metodi per formattare le date in stringhe. Il metodo più popolare è toLocaleDateString() per formattare la data in base alla localizzazione.
Esempio di utilizzo di toLocaleDateString():
const now = new Date();
console.log(now.toLocaleDateString('en-US')); // "7/7/2024" (MM/DD/YYYY)
console.log(now.toLocaleDateString('en-GB')); // "07/07/2024" (DD/MM/YYYY)
console.log(now.toLocaleDateString('ru-RU')); // "07.07.2024" (DD.MM.YYYY)
Metodo toLocaleTimeString()
Il metodo toLocaleTimeString() restituisce l'ora sotto forma di stringa in un formato localizzato:
const now = new Date();
console.log(now.toLocaleTimeString('en-CA'));
console.log(now.toLocaleTimeString('en-GB'));
Metodo toLocaleString()
Il metodo toLocaleString() restituisce la data e l'ora sotto forma di stringa in un formato localizzato:
const now = new Date();
console.log(now.toLocaleString('en-CA'));
console.log(now.toLocaleString('en-GB'));
Metodo toISOString()
Il metodo toISOString() restituisce la data e l'ora nel formato ISO 8601:
const now = new Date();
console.log(now.toISOString()); // "2023-07-05T10:00:00.000Z"
2.4 Formattazione dei numeri
Metodo toLocaleString()
Il metodo toLocaleString() consente di formattare i numeri secondo le impostazioni locali:
const number = 1234567.89;
console.log(number.toLocaleString()); // "1,234,567.89" nel formato americano o "1 234 567,89" nel formato locale
console.log(number.toLocaleString('de-DE')); // "1.234.567,89" nel formato tedesco
Formattazione dei numeri con Intl.NumberFormat
Il costruttore Intl.NumberFormat ti offre opzioni ancora più flessibili per formattare i numeri:
const number = 1234567.89;
const usFormatter = new Intl.NumberFormat('en-US');
console.log(usFormatter.format(number)); // "1,234,567.89"
const deFormatter = new Intl.NumberFormat('de-DE');
console.log(deFormatter.format(number)); // "1.234.567,89"
const customFormatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD'
});
console.log(customFormatter.format(number)); // "$1,234,567.89"
GO TO FULL VERSION