Validar data Typescript - resolvido

Validar data

let dia = 30
let mes = 2
let ano = 2000

new Date(ano + “-” + mes + “-” + dia)

Não dá erro. Na verdade a data pula para 3 de março. Porque ?

Pegou Março pois no Date o mês se inicia em 0.
0 - Janeiro
1- Fevereiro
2- Março

e por ai vai

Mas se coloco,

let dia = 28
let mes = 2
let ano = 2000,

Ele mostra 28 de FEB de 2000

Acho que ele não entende como uma data, pois não existe 30 de fevereiro, ai ele gera uma data aproximada, deve ser por isso, e por qual motivo queria colocar 30 de fevereiro?

Sim.

O que fiz, foi validar a data de retorno com a data informada.

        let resultado = formControl.value.split('/');
        let dia = Number(resultado[0]);
        let mes = Number(resultado[1]);
        let ano = Number(resultado[2]);

        let dataRetornada = new Date(ano + "-" + mes + "-" + dia);

        let resultadoRetornada = dataRetornada.toLocaleDateString().split('/');

        let diaRetornado = Number(resultadoRetornada[0]);
        let mesRetornado = Number(resultadoRetornada[1]);
        let anoRetornado = Number(resultadoRetornada[2]);

        if(dia == diaRetornado && mes == mesRetornado && ano == anoRetornado){
          valido = true;
        } else {
          valido = false;
        }
1 curtida