Objeto Weirdo Date em JS
Na maioria das vezes, não precisamos examinar o âmago da questão do objeto Javascript Date, mas às vezes isso pode introduzir um bug difuso em seu código. Vamos espiar o problema.
Então, o que é um objeto Data JavaScript?
Um objeto de data JavaScript é o número de milissegundos que se passaram desde a meia-noite de 1º de janeiro de 1970 00:00:00 UTC.
O problema
console.log(new Date("2023-01-24"));
console.log(new Date("2023-01-24 "));
O que é? Javascript é terrivelmente inconsistente.
Adicionando apenas espaço em branco no final da string dando resultado correto .
outro estranho
console.log(new Date("2023/01/24"));
No entanto, se reorganizarmos o formato da string para Mês-Dia-Ano
console.log(new Date("01-24-2023"));
Agora o resultado está correto ✔.
Então, qual é o problema?
O problema é especificamente com o fuso horário. Observe a parte GMT-0500- isso é 5 horas atrás do GMT. Se eu adicionar 5 horas à data/hora exibida, obterei exatamente meia-noite de 2023/01/24.
A partir de agora, não precisamos de parte do tempo, portanto, mantenha o restante da discussão para a próxima vez.
Remover
Este artigo não cobre todos os detalhes, mas no futuro, tenho certeza de que você criará o objeto Date com cuidado. Tenha cuidado ao usar bibliotecas de terceiros Date Time, como Moment Js, Day Js etc.
Também é possível que alguns cálculos ou manipulações feitas usando o objeto de data possam levar a uma data incorreta se forem feitas incorretamente. Por exemplo, o objeto Date se comporta de forma incompatível em diferentes navegadores. Portanto, é importante verificar novamente os cálculos de data e garantir que o objeto de data seja inicializado e usado corretamente.
Você pode me apoiar por
Palmas
Comentando
Compartilhando este post com seus amigos





































![O que é uma lista vinculada, afinal? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)