Erro de data de JavaScript: saída inesperada ao obter a data e hora atuais

Estou trabalhando em um projeto JavaScript onde preciso exibir a data e hora atuais para o usuário. No entanto, quando implementei o código para recuperar a data e hora atuais, encontrei um erro inesperado na saída.

Aqui está o código JavaScript que estou usando:

const currentDate = new Date();
const currentDateTime = currentDate.toDateString() + ', ' + currentDate.toLocaleTimeString();

console.log(currentDateTime);

No entanto, quando executo esse código, recebo uma saída estranha que não corresponde à data e hora atuais. Por exemplo, pode exibir “Terça-feira, 25 de agosto de 2020, 14:30:00 GMT+0200 (horário de verão da Europa Central)”, mesmo que a data atual não seja 2020.

O que pode estar causando esse erro. Não consegui descobrir a resposta consultando os sites. Como posso alterá-la para que a hora e a data sejam exibidas corretamente? Qualquer informação ou alteração no código será imensamente apreciada.

Ola @jesse100, tudo bem?

Eu rodei seu código aqui, sem fazer nenhuma alteração e me parece que o resultado foi o que você esperava.

Porém estou rodando localmente, e de acordo com a documentação, ele ira pegar a data e hora local de seu sistema. Talvez esteja ai o seu problema e não no seu código.

Para mais detalhes sobre a classe Date()

Caso precise de algo mais exato, que não dependa de informações locais, utilize algum recurso na Web de busca da date/hora correta. Você pode receber o resultado e na sequencia passa-lo como parâmetro no construtor do Date()

Esse abaixo é de utilização bem simples e gratuito.

3 curtidas

Primeiramente estás misturando versões locais com versão padrão. Se for usar “locale”, use em tudo, pois em alguns casos poderá aparecer a data errada com a hora certa (por conta do fuso horario).

Segundo que a função toDateString deveria retornar valor em inglês conforme a documentação do MDN (a bíblia do programador javascript). Então desconfio que há algum outro problema, talvez o local do código gerando erro não seja exatamente esse que vc colou aí.

1 curtida

Se não ficou muito claro o que o @AgryCoder falou, você precisa observar onde está rodando esse código, é em um servidor ou em uma ambiente virtual, etc? Este pode ser o culpado.

2 curtidas