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
| Format | Exemple | Longueur | Cas d'Usage |
|---|---|---|---|
| Unix Secondes | 1704110400 | 10 chiffres | Systèmes legacy, APIs |
| Unix Millisecondes | 1704110400000 | 13 chiffres | JavaScript, Java, APIs modernes |
| Unix Microsecondes | 1704110400000000 | 16 chiffres | Journalisation haute précision |
| Unix Nanosecondes | 1704110400000000000 | 19 chiffres | Surveillance de performance |
| ISO 8601 (UTC) | 2024-01-01T12:00:00Z | Variable | Standard international |
| ISO 8601 (Fuseau) | 2024-01-01T12:00:00+00:00 | Variable | Données avec fuseau horaire |
| RFC 3339 | 2024-01-01T12:00:00.000Z | Variable | Horodatages internet |
| RFC 2822 | Mon, 01 Jan 2024 12:00:00 +0000 | Variable | En-têtes email |
| SQL DATETIME | 2024-01-01 12:00:00 | 19 chars | Stockage 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éparateur12: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
| De | Vers | Formule |
|---|---|---|
| Secondes | Millisecondes | s * 1000 |
| Millisecondes | Secondes | ms / 1000 |
| Secondes | Microsecondes | s * 1 000 000 |
| Secondes | Nanosecondes | s * 1 000 000 000 |