Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

No console é diferente pq?

Porque no console é diferente o resultado?

fiz o teste no arquivo.js primeiro.

adiciona(event){
        event.preventDefault();

        console.log(this._inputData.value);
        console.log(this._inputData.value.replace(/-/g, ","));
        // transformando uma string de data, em objeto.
        let data  = new Date(this._inputData.value.replace(/-/g, ","));

        console.log(data);

    }
}

no código acima, eu recebo no Objeto Date o seguinte valor: 1995,01,24

e quando eu dou o log no objeto, ele imprime certinho Jan 24 1995

POREM se eu fizer direto no console ele entende como fevereiro.

let data = new Date(1995,01,24);
undefined
data
Fri Feb 24 1995 00:00:00 GMT-0300 (Hora oficial do Brasil)

Eu entendi a explicação do professor, sobre ele ir de 0 a 11, porem eu não entendi o porque ele não vai de 0 a 11 no arquivo javascript, qual lógica ele percorre pra chegar no resultado?

4 respostas
solução!

Boa noite, Nícolas! Como vai?

A diferença não é no console e sim na forma como a data é construída! No caso do seu código, o que está sendo feito é:

new Date("1995,01,24"); // O resultado é 24/01/1995

E o que vc testou no console é:

new Date(1995,01,24); // O resultado é 24/02/1995

Isso acontece pq o Javascript trata o mês de 0 a 11 quando vc o representa com um número e trata de 01 a 12 quando vc representa a data com uma única string.

Mais informações vc pode encontrar na documentação do Javascrip.

Grande abraço e bons estudos!

Obrigado pela explicação novamente Gabriel, vou resolver o exercício agora ^^.

Só uma errata no que eu disse, Nícolas!

O Javascript irá tratar o mês de 01 a 12, quando vc passar uma única string representando a data! Exatamente como é no caso:

new Date("1995,01,24"); // O resultado é 24/01/1995

Se em vez disso, vc passar várias strings representando cada uma delas um campo da sua data, então o comportamento será o mesmo que passar valores numéricos:

new Date("1995", "01", "24"); // O resultado é 24/02/1995

Uma pequena pegadinha do Javascript pra cima dos programadores!

Agora é só mandar bala aí nos estudos!

Grande abraço!

Um dia eu chego no seu nível de conhecimento! haha

Obrigado mais uma vez pela dica Gabriel!