1
resposta

Erro na data

Ao inserir uma data no postman como por exemplo: 10/10/2020 ele acusa um erro:

"code": "ER_TRUNCATED_WRONG_VALUE", "errno": 1292, "sqlMessage": "Incorrect datetime value: '12/12/2020' for column 'data' at row 1", "sqlState": "22007", "index": 0, "sql": "INSERT INTO Atendimentos SET cliente = 'Bruno', pet = 'Maik', servico = 'tosa', status = 'agendado', observacoes = 'dogão', data = '12/12/2020', dataCriacao = '2020-07-11 08:25:06'" }

Porém se eu inserir no padrão americano como por exemplo: 2020/10/10 ele salva normalmente, aparentemente ele está ignorando a conversão do moment

Segue o código:

const conexao = require('../infra/conexao');
const moment = require('moment');

class Atendimento {
    adiciona(atendimento, res) {
        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')
        const atendimentoDatado = {...atendimento, dataCriacao}
        const sql = 'INSERT INTO Atendimentos SET ?'

        conexao.query(sql, atendimentoDatado, (erro, resultados) => {
            if(erro) {
                res.json(erro)
            } else {
               res.json(resultados)
            }
        })
    }
}

module.exports = new Atendimento;
1 resposta

Experimenta tirar o

'DD/MM/YYYY'

da linha:

const data = moment(atendimento.data, 'DD/MM/YYYY').format('YYYY-MM-DD HH:mm:ss')

ficando:

const data = moment(atendimento.data).format('YYYY-MM-DD HH:mm:ss')

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software