MySQL. Fecha y hora. Tipo de dato DATETIME

Antonio Galisteo

Cómo almacenar en base de datos MySQL la fecha y hora. Para esto no es suficiente con el tipo de dato DATE.

En muchas ocasiones los requerimientos de un determinado problema exigen que se almacene en base de datos la fecha y hora de un evento en concreto. Para esto debemos usar el tipo de dato DATETIME. En esta ocasión veremos como trabajarlo en MySQL.

La definición del atributo en la creación de la tabla sería:

CREATE TABLE prueba (
     ...
     fecha_evento DATETIME NOT NULL COMMENT 'Fecha y hora del evento',
     ...
);

Veamos como hacer un insert.

INSERT INTO prueba (..., fecha_evento, ...) VALUES (..., '2013-11-24 17:15:10', ...);

Si estamos trabajando con PHP podemos obtener el formato de la fecha y hora actual de la siguiente forma

$fecha_hora_actual = date('Y-m-d H:i:s');

A la hora de hacer un select podemos recuperar solo la fecha y no la hora de la siguiente forma

SELECT DATE_FORMAT(fecha_evento, '%d-%m-%Y') AS fecha FROM prueba WHERE condicion;

Como podemos ver es un tipo de dato muy fácil de usar y cuya funcionalidad nos permite almacenar la fecha y hora juntas de un determinado evento.

Publicado el 24-11-2013

Compartelo!

7 comentarios

  • Muy buenas yo tengo configurado en mysql que se inserte la fecha automatica cada vez que se inserta un registro, pero se inserta de esta manera 2016-06-15 20:26:58-04:00 y la saluda que yo quiero es 2016-06-15T20:26:58-04:00.

    Es casi lo mismo solo que la ultima tiene una T intercalada y es necesaria para el sitemap.xml. Alguien me podria decir como la puedo optener

  • ricardo david dice:

    hola .muy interesante tu post, yo tengo un problema al insertar datetime , me inserta en mysql(mi db)0000-00-00 00:00:00.

    • Hola ricardo, tienes un problema al generar el datetime en tu PHP, no se esta generando con el formato que necesita MySQL, el formato es YYYY-mm-dd HH:mm:ss. Así representa un datetime MySQL. Imprime por pantalla el formato del dato que estas usando para que puedas identificar donde esta el problema. Saludos

  • Sharon dice:

    Bueno, pero me gustaria saber con que numero lo utilizo al agregar esa sentencia a una tabla? Es decir hice mi diseño en workbench y le puse que utilizaria 6 caracteres pero al generar el codigo me decia “error”.

  • José López dice:

    Muy util para guardar hora y fecha actual desde pagina php hacia base de datos mysql. Gracias por el aporte

Deja un comentario

Comentanos

*
Ir arriba de la pagina