timestampinfo.fr
Outils & documentation

LA DOCUMENTATION DU TEMPS

Timestamps dans MariaDB

Convertir une valeur Unix et vérifier le comportement de la version MariaDB utilisée.

Convertir avec une session UTC

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

La première requête donne le 1er avril 2024 à 12:00:00 ; la seconde donne 1711972800 secondes. Le fuseau de session est déterminant lors de la conversion d’une date locale.

Déclarer les valeurs par défaut

Évitez de dépendre des comportements implicites de la première colonne TIMESTAMP, qui varient selon la configuration et la version. Déclarez votre intention dans le schéma.

CREATE TABLE events (
    id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    created_at TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
    updated_at TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6)
        ON UPDATE CURRENT_TIMESTAMP(6)
);

Ne pas supposer la même limite que MySQL

Les capacités et plages de TIMESTAMP dépendent de la version MariaDB. Consultez les plages documentées pour votre version et testez les dates limites. Un guide MySQL ne suffit pas à garantir le comportement de MariaDB.

Un timestamp de base de données ne contient pas le nom du fuseau original. Stockez ce nom séparément si votre application doit reconstituer une intention locale, par exemple une réunion récurrente à 09:00 à Paris.

Références

Documentation de référence

Ouvrir le convertisseur