1
resposta

**O formato DD/MM/YYY não está sendo aceita no moment**

    const dataCriacao = moment().format('YYYY-MM-DD HH:MM:SS');
        const data = moment(atendimento.data, 'DD/MM/YYYY').format('YYYY-MM-DD HH:MM:SS');     

Tenho o seguinte código que aceita o cadastro da data no formato BR, mas é inserida no banco com o padrão americano. Conseguir fazer alguns cadastros dessa forma, mas por algum motivo, não está mais aceitando esse formato, somente o padrão americano e isso acaba quebrando a validação abaixo que somente permite o cadastro da data atual ou posterior a da data de critação.

      this.dataEhValida = ({data, dataCriacao}) => moment(data).isBefore(dataCriacao);

Alguém consegue me ajudar?

1 resposta

Boa tarde Maitha, espero que esteja bem!

Então me corrija caso eu tenha entendido errado: você consegue receber datas no padrão brasileiro mas deseja receber uma data no formato norte americano?

Eu sugiro tentar fazer a seguinte modificação:

De const data = moment(atendimento.data, 'DD/MM/YYYY').format('YYYY-MM-DD HH:MM:SS');

Para const data = moment(atendimento.data, 'MM/DD/YYYY').format('YYYY-MM-DD HH:MM:SS');

Ou seja, trocar a forma de interpretação brasileira: DD/MM/YYYY para a norte americana MM/DD/YYYY

Espero ter ajudado, qualquer coisa é só retornar aqui. Bons estudos!