⊗jsPmTmAA 322 of 505 menu

Correzione automatica delle date in JavaScript

JavaScript ha una caratteristica molto interessante e utile: se durante la creazione di un oggetto Date viene specificato un momento temporale non corretto, esso verrà automaticamente ricalcolato in uno corretto. Vediamo un esempio.

Come sapete, la data del 35 gennaio non esiste. Il giorno massimo possibile per gennaio è 31. Ciò significa che la nostra data del 35 gennaio ha 4 giorni in eccesso. JavaScript in un caso del genere aggiungerà semplicemente questi 4 giorni in più al mese successivo:

let date = new Date(2018, 0, 35); console.log(date); // risulterà il 4 febbraio

È possibile specificare non solo giorni in eccesso, ma anche mesi. Bisogna ricordare che i mesi iniziano da zero, quindi l'ultimo mese corretto è l'undicesimo (11). Se si specifica il dodicesimo mese (12), si otterrà il gennaio dell'anno successivo:

let date = new Date(2018, 12, 1); // specifichiamo il 12° mese console.log(date); // risulterà il 1 gennaio 2019

La correzione descritta funziona anche verso il basso. Come sapete, il giorno minimo del mese è il giorno numero 1. Pertanto, se si specifica il giorno numero 0, si otterrà l'ultimo giorno del mese precedente:

let date = new Date(2018, 1, 0); // specifichiamo il giorno zero console.log(date); // risulterà il 31 gennaio

Si possono anche specificare valori negativi per giorni e mesi. In questo caso bisogna ricordare che il giorno minimo ha numero 1, e il mese minimo ha numero 0. Ciò significa che il giorno meno uno corrisponderà al 2 giorno dalla fine del mese precedente, mentre il mese meno uno corrisponderà semplicemente all'ultimo mese dell'anno precedente:

let date = new Date(2018, 1, -1); // specifichiamo -1 giorno console.log(date); // risulterà il 30 gennaio
let date = new Date(2018, -1, 1); // specifichiamo -1 mese console.log(date); // risulterà il 1 dicembre 2017

Tutto quanto detto sopra funziona analogamente con ore, minuti e secondi:

let date = new Date(2018, 0, 1, 24, 0, 0); // specifichiamo la 24a ora console.log(date); // risulterà il 2 gennaio, 0 ore
let date = new Date(2018, 0, 1, 25, 0, 0); // specifichiamo la 25a ora console.log(date); // risulterà il 2 gennaio, 1 ora

Determinate in quale data JavaScript convertirà il seguente momento temporale:

let date = new Date(2018, 1, 35); console.log(date); // quale data sarà?

Determinate in quale data JavaScript convertirà il seguente momento temporale:

let date = new Date(2018, 15, 1); console.log(date); // quale data sarà?

Determinate in quale data JavaScript convertirà il seguente momento temporale:

let date = new Date(2018, 3, 31); console.log(date); // quale data sarà?

Determinate in quale data JavaScript convertirà il seguente momento temporale:

let date = new Date(2018, 1, 31); console.log(date); // quale data sarà?

Determinate in quale data JavaScript convertirà il seguente momento temporale:

let date = new Date(2018, 12, 33); console.log(date); // quale data sarà?

Determinate in quale data JavaScript convertirà il seguente momento temporale:

let date = new Date(2018, 33, 33); console.log(date); // quale data sarà?

Determinate in quale data JavaScript convertirà il seguente momento temporale:

let date = new Date(2018, 5, 0); console.log(date); // quale data sarà?

Determinate in quale data JavaScript convertirà il seguente momento temporale:

let date = new Date(2018, 0, 0); console.log(date); // quale data sarà?

Determinate in quale data JavaScript convertirà il seguente momento temporale:

let date = new Date(2018, -12, -33); console.log(date); // quale data sarà?

Determinate in quale data JavaScript convertirà il seguente momento temporale:

let date = new Date(2018, 0, 1, 23, 0, 60); console.log(date); // quale data sarà?

Determinate in quale data JavaScript convertirà il seguente momento temporale:

let date = new Date(2018, 0, 1, 23, 60, 0); console.log(date); // quale data sarà?

Determinate in quale data JavaScript convertirà il seguente momento temporale:

let date = new Date(2018, 0, 1, 100, 100, 100); console.log(date); // quale data sarà?
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta