Ressources d'horodatage

Aide-Mémoire des Formats d'Horodatage : Guide de Référence Rapide

Aperçu

Cet aide-mémoire complet fournit une référence rapide pour tous les formats d'horodatage courants utilisés en programmation et échange de données. Tous les exemples utilisent 1er janvier 2024, 12:00:00 UTC comme heure de référence.

Tableau de Référence Rapide

FormatExempleLongueurCas d'Usage
Unix Secondes170411040010 chiffresSystèmes legacy, APIs
Unix Millisecondes170411040000013 chiffresJavaScript, Java, APIs modernes
Unix Microsecondes170411040000000016 chiffresJournalisation haute précision
Unix Nanosecondes170411040000000000019 chiffresSurveillance de performance
ISO 8601 (UTC)2024-01-01T12:00:00ZVariableStandard international
ISO 8601 (Fuseau)2024-01-01T12:00:00+00:00VariableDonnées avec fuseau horaire
RFC 33392024-01-01T12:00:00.000ZVariableHorodatages internet
RFC 2822Mon, 01 Jan 2024 12:00:00 +0000VariableEn-têtes email
SQL DATETIME2024-01-01 12:00:0019 charsStockage en BD

Formats Unix Timestamp

Secondes (10 chiffres)

Format : Entier représentant les secondes depuis le 1er janvier 1970, 00:00:00 UTC

1704110400

Quand Utiliser :

  • Systèmes et APIs legacy
  • Efficacité de stockage (4 octets en int32)
  • Considérations du problème de l'année 2038

Exemples de Code :

// JavaScript
const timestamp = Math.floor(Date.now() / 1000);
// 1704110400

const date = new Date(timestamp * 1000);
// 2024-01-01T12:00:00.000Z
# Python
import time
timestamp = int(time.time())
# 1704110400

from datetime import datetime
date = datetime.fromtimestamp(timestamp)
# 2024-01-01 12:00:00
// PHP
$timestamp = time();
// 1704110400

$date = date('Y-m-d H:i:s', $timestamp);
// 2024-01-01 12:00:00

Millisecondes (13 chiffres)

Format : Entier représentant les millisecondes depuis l'epoch

1704110400000

Quand Utiliser :

  • JavaScript (Date.now())
  • Java (System.currentTimeMillis())
  • APIs modernes
  • Mesure de performance

Exemples de Code :

// JavaScript
const timestamp = Date.now();
// 1704110400000

const date = new Date(timestamp);
// 2024-01-01T12:00:00.000Z
// Java
long timestamp = System.currentTimeMillis();
// 1704110400000

Date date = new Date(timestamp);
# Python
import time
timestamp_ms = int(time.time() * 1000)
# 1704110400000

Format ISO 8601

Basique (UTC)

2024-01-01T12:00:00Z

Composants :

  • 2024-01-01 - Date (AAAA-MM-JJ)
  • T - Séparateur
  • 12:00:00 - Heure (HH:MM:SS)
  • Z - Indicateur UTC (Zulu)

Avec Fuseau Horaire

2024-01-01T12:00:00+00:00
2024-01-01T07:00:00-05:00  // New York (UTC-5)
2024-01-01T21:00:00+09:00  // Tokyo (UTC+9)

Avec Millisecondes

2024-01-01T12:00:00.000Z
2024-01-01T12:00:00.123Z

Exemples de Code :

// JavaScript
const iso = new Date().toISOString();
// "2024-01-01T12:00:00.000Z"

const date = new Date("2024-01-01T12:00:00Z");
# Python
from datetime import datetime, timezone

iso = datetime.now(timezone.utc).isoformat()
# "2024-01-01T12:00:00+00:00"

date = datetime.fromisoformat("2024-01-01T12:00:00+00:00")

Format RFC 3339

Similaire à ISO 8601, mais plus strict :

2024-01-01T12:00:00Z
2024-01-01T12:00:00.000Z
2024-01-01T12:00:00+00:00

Différences avec ISO 8601 :

  • Nécessite format étendu (avec tirets)
  • Nécessite séparateur T
  • Défini spécifiquement pour internet

Format RFC 2822

Mon, 01 Jan 2024 12:00:00 +0000

Quand Utiliser :

  • En-têtes email
  • En-têtes HTTP

Exemples de Code :

// JavaScript
const date = new Date();
const rfc2822 = date.toUTCString();
// "Mon, 01 Jan 2024 12:00:00 GMT"
# Python
from email.utils import formatdate
rfc2822 = formatdate(timeval=1704110400, localtime=False)
# "Mon, 01 Jan 2024 12:00:00 -0000"

Formats SQL

DATETIME

'2024-01-01 12:00:00'

TIMESTAMP

'2024-01-01 12:00:00'
-- Plage : 1970-01-01 à 2038-01-19 (MySQL < 8.0.28)

DATE

'2024-01-01'

TIME

'12:00:00'

Exemples de Code :

-- MySQL
SELECT NOW();
-- 2024-01-01 12:00:00

SELECT UNIX_TIMESTAMP();
-- 1704110400

SELECT FROM_UNIXTIME(1704110400);
-- 2024-01-01 12:00:00
-- PostgreSQL
SELECT NOW();
-- 2024-01-01 12:00:00+00

SELECT EXTRACT(EPOCH FROM NOW());
-- 1704110400

SELECT TO_TIMESTAMP(1704110400);
-- 2024-01-01 12:00:00+00

Tableau de Conversion

DeVersFormule
SecondesMillisecondess * 1000
MillisecondesSecondesms / 1000
SecondesMicrosecondess * 1 000 000
SecondesNanosecondess * 1 000 000 000

Outils Connexes