Data e ora JavaScript

In questo tutorial imparerai a conoscere la data e l'ora in JavaScript con l'aiuto di esempi.

In JavaScript, la data e l'ora sono rappresentate Datedall'oggetto. L' Dateoggetto fornisce le informazioni sulla data e l'ora e fornisce anche vari metodi.

Una data JavaScript definisce l' epoca EcmaScript che rappresenta i millisecondi dal 1 gennaio 1970 UTC . La data e l'ora sono le stesse dell'epoca UNIX (valore di base predominante per i valori di data e ora registrati dal computer).

Creazione di oggetti data

Esistono quattro modi per creare un oggetto data.

  • nuova data ()
  • nuova data (millisecondi)
  • nuova data (stringa della data)
  • nuova data (anno, mese, giorno, ore, minuti, secondi, millisecondi)

nuova data ()

È possibile creare un oggetto data utilizzando il new Date()costruttore. Per esempio,

 const timeNow = new Date(); console.log(timeNow); // shows current date and time

Produzione

 Lun 06 luglio 2020 12:03:49 GMT + 0545 (ora del Nepal)

Qui, new Date()crea un nuovo oggetto data con la data corrente e l'ora locale.

nuova data (millisecondi)

L' Dateoggetto contiene un numero che rappresenta i millisecondi dal 1 ° gennaio 1970 UTC .

new Date(milliseconds)crea un nuovo oggetto data aggiungendo i millisecondi all'ora zero. Per esempio,

 const time1 = new Date(0); // epoch time console.log(time1); // Thu Jan 01 1970 05:30:00 // 100000000000 milliseconds after the epoch time const time2 = new Date(100000000000) console.log(time2); // Sat Mar 03 1973 15:16:40

Nota : 1000 millisecondi equivalgono a 1 secondo.

nuova data (stringa della data)

new Date(date string) crea un nuovo oggetto data da una stringa di data.

In JavaScript, ci sono generalmente tre formati di input della data.

Formati di data ISO

È possibile creare un oggetto data passando i formati di data ISO. Per esempio,

 // ISO Date(International Standard) const date = new Date("2020-07-01"); // the result date will be according to UTC console.log(date); // Wed Jul 01 2020 05:45:00 GMT+0545

Puoi anche passare solo l'anno e il mese o solo l'anno. Per esempio,

 const date = new Date("2020-07"); console.log(date); // Wed Jul 01 2020 05:45:00 GMT+0545 const date1 = new Date("2020"); console.log(date1); // Wed Jul 01 2020 05:45:00 GMT+0545

Puoi anche passare un tempo specifico alle date ISO.

 const date = new Date("2020-07-01T12:00:00Z"); console.log(date); // Wed Jul 01 2020 17:45:00 GMT+0545

Nota : la data e l'ora sono separate dalla lettera T maiuscola . E l'ora UTC è definita con la Z maiuscola .

Formato data breve e lungo

Gli altri due formati di data sono il formato data breve e il formato data lunga .

 // short date format "MM/DD/YYYY" const date = new Date("03/25/2015"); console.log(date); // Wed Mar 25 2015 00:00:00 GMT+0545 // long date format "MMM DD YYYY" const date1 = new Date("Jul 1 2020"); console.log(date1); // Wed Jul 01 2020 00:00:00 GMT+0545 // month and day can be in any order const date2 = new Date("1 Jul 2020"); console.log(date2); // Wed Jul 01 2020 00:00:00 GMT+0545 // month can be full or abbreviated. Also month names are insensitive. // comma are ignored const date3 = new Date("July 1 2020"); console.log(date3); // Wed Jul 01 2020 00:00:00 GMT+0545 const date4 = new Date("JULY, 1, 2020"); console.log(date4); // Wed Jul 01 2020 00:00:00

nuova data (anno, mese, giorno, ore, minuti, secondi, millisecondi)

new Date(year, month,… )crea un nuovo oggetto data passando una data e un'ora specifiche. Per esempio,

 const time1 = new Date(2020, 1, 20, 4, 12, 11, 0); console.log(time1); // Thu Feb 20 2020 04:12:11

L'argomento passato ha un ordine specifico.

Se vengono passati quattro numeri, rappresenta anno, mese, giorno e ora. Per esempio,

 const time1 = new Date(2020, 1, 20, 4); console.log(time1); // Thu Feb 20 2020 04:00:00

Allo stesso modo, se vengono passati due argomenti, rappresenta anno e mese. Per esempio,

 const time1 = new Date(2020, 1); console.log(time1); // Sat Feb 01 2020 00:00:00

Nota : se si passa solo un argomento, viene trattato come millisecondi. Quindi, devi passare due argomenti per utilizzare questo formato di data.

In JavaScript, i mesi vengono contati da 0 a 11 . Gennaio è lo 0 e dicembre è l' 11 .

Metodi di data JavaScript

Sono disponibili vari metodi nell'oggetto Data JavaScript.

Metodo Descrizione
adesso() Restituisce il valore numerico corrispondente all'ora corrente (il numero di millisecondi trascorsi dal 1 gennaio 1970 00:00:00 UTC)
getFullYear () Ottiene l'anno in base all'ora locale
getMonth () Ottiene il mese, da 0 a 11 in base all'ora locale
getDate () Ottiene il giorno del mese (1-31) in base all'ora locale
getDay () Ottiene il giorno della settimana (0-6) in base all'ora locale
getHours () Ottiene l'ora da 0 a 23 in base all'ora locale
getMinutes Gets the minute from 0 to 59 according to local time
getUTCDate() Gets the day of the month (1-31) according to universal time
setFullYear() Sets the full year according to local time
setMonth() Sets the month according to local time
setDate() Sets the day of the month according to local time
setUTCDate() Sets the day of the month according to universal time

Example: Date Methods

 const timeInMilliseconds = Date.now(); console.log(timeInMilliseconds); // 1593765214488 const time = new Date; // get day of the month const date = time.getDate(); console.log(date); // 30 // get day of the week const year = time.getFullYear(); console.log(year); // 2020 const utcDate = time.getUTCDate(); console.log(utcDate); // 30 const event = new Date('Feb 19, 2020 23:15:30'); // set the date event.setDate(15); console.log(event.getDate()); // 15 // Only 28 days in February! event.setDate(35); console.log(event.getDate()); // 7

Formatting a Date

Unlike other programming languages, JavaScript does not provide a built-in function for formatting a date.

However, you can extract individual bits and use it like this.

 const currentDate = new Date(); const date = currentDate.getDate(); const month = currentDate.getMonth(); const year = currentDate.getFullYear(); // show in specific format let monthDateYear = (month+1) + '/' + date + '/' + year; console.log(monthDateYear); // 7/3/2020

Note: The above program gives inconsistent length as date and month have single-digit and double-digit.

AutoCorrection in Date Object

When you assign out of range values in the Date object, it auto-corrects itself. For example,

 const date = new Date(2008, 0, 33); // Jan does not have 33 days console.log(date);

Output

 Sat Feb 02 2008

Per ulteriori informazioni sulla data e l'ora in JavaScript, visitare Demistificazione di data e ora.

Articoli interessanti...