timestampinfo.fr
Herramientas y documentación

DOCUMENTACIÓN DEL TIEMPO

Timestamps en MySQL: conversión y almacenamiento

Utiliza FROM_UNIXTIME y UNIX_TIMESTAMP con una convención UTC explícita.

Configurar la zona horaria de la sesión

Las funciones de conversión de MySQL dependen de la zona horaria de la sesión. En este ejemplo, la sesión utiliza UTC.

SET time_zone = '+00:00';
SELECT FROM_UNIXTIME(1711972800);
-- 2024-04-01 12:00:00
SELECT UNIX_TIMESTAMP('2024-04-01 12:00:00');
-- 1711972800

¿TIMESTAMP o DATETIME?

MySQL convierte los valores TIMESTAMP entre la zona horaria de la sesión y UTC al almacenarlos y leerlos. DATETIME almacena campos de calendario sin esta conversión automática. Ninguno de los dos tipos guarda por sí solo un nombre de zona horaria como Europe/Paris.

CREATE TABLE events (
    id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    occurred_at TIMESTAMP(6) NOT NULL
);
INSERT INTO events (occurred_at)
VALUES ('2024-04-01 12:00:00.123456');

Comprobar el rango y la precisión

En MySQL 8.4, TIMESTAMP sigue limitado al rango comprendido entre 1970 y enero de 2038. DATETIME tiene un rango distinto. Consulta la documentación de tu versión antes de elegir un tipo para fechas de nacimiento o plazos lejanos.

Las fracciones deben especificarse en la definición de la columna, por ejemplo TIMESTAMP(6). Las conversiones locales cerca de los cambios de hora pueden ser ambiguas; intercambia instantes en UTC siempre que sea posible.

Referencias

Documentación de referencia

Abrir el conversor

Versión en español publicada el 26 de septiembre de 2026.