Ao utilizar o código conforme apresentado na aula:
const moment = require('moment');
const conexao = require('../infraestrutura/conexao');
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, data };
const sql = 'INSERT INTO Atendimentos SET ?';
conexao.query(sql, atendimentoDatado, (erro, resultados) => {
if (erro) {
res.status(400).json(erro);
} else {
console.log('dataCriacao :', dataCriacao);
res.status(201).json(resultados);
}
});
}
}
module.exports = new Atendimento
Ao executar o POST para criação de atendimentos várias vezes o log imprimiu as seguintes saídas:
dataCriacao : 2020-04-02 14:04:39
dataCriacao : 2020-04-02 14:04:93
dataCriacao : 2020-04-02 14:04:17
dataCriacao : 2020-04-02 14:04:92
Como podemos ver algumas vezes gerou segundos inválidos, como 93 segundos e 92 segundos. Nestes casos os registros foram gerados na tabela do banco de dados, mas a coluna dataCriacao ficou inconsistente com o valor 0000-00-00 00:00:00. Nos demais casos em que a data era válida criou corretamente. Como corrigir esse problema do moment?
Att.