Ressources d'horodatage

Référence des fonctions d'horodatage SQL

Référence des fonctions d'horodatage SQL

Référence rapide pour les opérations d'horodatage sur les systèmes de bases de données populaires.

Horodatage actuel

Base de donnéesHorodatage actuel (UTC)Horodatage actuel (local)
MySQLNOW(), UTC_TIMESTAMP()NOW(), LOCALTIMESTAMP()
PostgreSQLNOW(), CURRENT_TIMESTAMPNOW(), CURRENT_TIMESTAMP
SQLitedatetime('now')MTXCODE9FIN
Serveur SQLMTXCODE10FINGETDATE(), SYSDATETIME()
OracleMTXCODE13FIN, MTXCODE14FINMTXCODE15FIN

Opérations d'horodatage Unix

Obtenir l'horodatage Unix actuel

Base de donnéesCodes
MySQLMTXCODE16FIN
PostgreSQLMTXCODE17FIN
SQLiteMTXCODE18FIN
Serveur SQLMTXCODE19FIN
OracleMTXCODE20FIN

Convertir l'horodatage Unix en date

Base de donnéesCodes
MySQLMTXCODE21FIN
PostgreSQLMTXCODE22FIN
SQLiteMTXCODE23FIN
Serveur SQLMTXCODE24FIN
OracleMTXCODE25FIN

Convertir la date en horodatage Unix

Base de donnéesCodes
MySQLMTXCODE26FIN
PostgreSQLMTXCODE27FIN
SQLiteMTXCODE28FIN
Serveur SQLMTXCODE29FIN
OracleMTXCODE30FIN

Formatage des dates

Formats de dates courants

Base de donnéesOIN 8601Format américainFormat UE
MySQLMTXCODE31FINMTXCODE32FINMTXCODE33FIN
PostgreSQLMTXCODE34FINMTXCODE35FINMTXCODE36FIN
SQLiteMTXCODE37FIN--
Serveur SQLMTXCODE38FINMTXCODE39FINMTXCODE40FIN
OracleMTXCODE41FINMTXCODE42FINMTXCODE43FIN

Opérations de fuseau horaire

Obtenir le fuseau horaire actuel

Base de donnéesCodes
MySQLTIMEZONE_NAME, @@time_zone
PostgreSQLMTXCODE46FIN
SQLiteN/A (pas de prise en charge du fuseau horaire)
Serveur SQLMTXCODE47FIN, MTXCODE48FIN
OracleMTXCODE49FIN, MTXCODE50FIN

Convertir le fuseau horaire

Base de donnéesCodes
MySQLMTXCODE51FIN
PostgreSQLMTXCODE52FIN
SQLiteN/A
Serveur SQLMTXCODE53FIN
OracleMTXCODE54FIN

Arithmétique de l'horodatage

Ajouter/soustraire du temps

Base de donnéesAjouter 1 jourSoustraire 1 heure
MySQLMTXCODE55FINMTXCODE56FIN
PostgreSQLMTXCODE57FINMTXCODE58FIN
SQLiteMTXCODE59FINMTXCODE60FIN
Serveur SQLMTXCODE61FINMTXCODE62FIN
OracleMTXCODE63FINMTXCODE64FIN

Calculer la différence

Base de donnéesJours entre
MySQLMTXCODE65FIN
PostgreSQLMTXCODE66FIN
SQLiteMTXCODE67FIN
Serveur SQLMTXCODE68FIN
OracleMTXCODE69FIN

## meilleures pratiques

1. Stocker les horodatages en UTC

Stockez toujours les horodatages au format UTC et convertissez-les en heure locale uniquement lors de leur affichage aux utilisateurs.

-- Good: Store in UTC
CREATE TABLE events (
    id INT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Better: Explicit UTC
CREATE TABLE events (
    id INT,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

2. Utilisez les types de données appropriés

Cas d'utilisationType recommandé
Stockage UTCMTXCODE0FIN
Heure locale uniquementMTXCODE1FIN
Horodatage UnixBIGINT (pour la portabilité)
Dates seulementMTXCODE3FIN

3. Gérer correctement les conversions de fuseau horaire

-- PostgreSQL example
SELECT 
    created_at AT TIME ZONE 'UTC' AS utc_time,
    created_at AT TIME ZONE 'America/New_York' AS ny_time,
    created_at AT TIME ZONE 'Asia/Shanghai' AS shanghai_time
FROM events;

Outils associés