Strano oggetto Data in JS
La maggior parte delle volte, non abbiamo bisogno di esaminare il nocciolo dell'oggetto Javascript Date, ma a volte questo può introdurre un bug fuzzy nel tuo codice. Diamo un'occhiata al problema.
Allora, cos'è un oggetto JavaScript Date?
Un oggetto data JavaScript è il numero di millisecondi trascorsi dalla mezzanotte del 1° gennaio 1970 00:00:00 UTC.
Il problema
console.log(new Date("2023-01-24"));
console.log(new Date("2023-01-24 "));
Coaaa? Javascript è terribilmente incoerente.
Aggiungendo solo uno spazio bianco alla fine della stringa si ottiene un risultato corretto .
Un altro strano
console.log(new Date("2023/01/24"));
Tuttavia, se riorganizziamo il formato della stringa in Mese-Giorno-Anno
console.log(new Date("01-24-2023"));
Ora il risultato è corretto ✔.
Allora, qual è il problema?
Il problema riguarda specificamente il fuso orario. Nota parte GMT-0500- cioè 5 ore dietro GMT. Se aggiungo 5 ore alla data/ora visualizzata, otterrò esattamente la mezzanotte del 24/01/2023.
A partire da ora, non abbiamo bisogno di parte del tempo, quindi tieni il resto della discussione per la prossima volta.
Porta via
Questo articolo non copre tutti i dettagli ma in futuro sono sicuro che creerai l'oggetto Date con attenzione. Fai attenzione quando usi librerie di terze parti Date Time come Moment Js, Day Js ecc.
È anche possibile che alcuni calcoli o manipolazioni eseguiti utilizzando l'oggetto data possano portare a una data errata se eseguiti in modo errato. Ad esempio, l'oggetto Date si comporta in modo non corrispondente in diversi browser. Pertanto, è importante ricontrollare i calcoli della data e assicurarsi che l'oggetto data sia inizializzato e utilizzato correttamente.
Puoi sostenermi con
Battere le mani
Commentare
Condivido questo post ai tuoi amici

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































