Saltar al contenido

Cómo insertar la hora de momento JS en MySQL

Solución:

Este resultado ocurre porque está utilizando el toISOString() método y no es un formato válido para insertar en su DATETIME columna. El formato correcto probablemente es YYYY-MM-DD HH:MM:SS(Creo que depende de la configuración de MySQL, pero esta es la predeterminada) como señala la documentación.

Entonces deberías intentar usar el método format () de momento como este:

myDate =  moment(data.myTime.format('YYYY/MM/DD HH:mm:ss')).format("YYYY-MM-DD HH:mm:ss");

De hecho, no se que data.myTime es, pero si también es un objeto de momento, puede cambiar el primer format() método y elimine el segundo.

La respuesta de DontVoteMeDown es correcta, excepto que los minutos 'mm' y segundos 'ss' debe estar en minúsculas, de lo contrario se devuelve un valor incorrecto:

myDate =  moment(new Date()).format("YYYY-MM-DD HH:mm:ss");

Además, debe verificar el valor enviado por javascript antes de hacer su consulta SQL, en PHP:

DateTime::createFromFormat('Y-m-d H:i:s', $myDate);

Volverá false si la fecha está mal formateada.

Aquí hay una extensión de función para formatearla en el formato MySQL DateTime

moment.prototype.toMySqlDateTime = function () {
    return this.format('YYYY-MM-DD HH:mm:ss');
};

Podrás hacer: moment().toMySqlDateTime();

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *