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 :
JAVASCRIPT1// JavaScript 2const timestamp = Math.floor(Date.now() / 1000); 3// 1704110400 4 5const date = new Date(timestamp * 1000); 6// 2024-01-01T12:00:00.000Z
PYTHON1# Python 2import time 3timestamp = int(time.time()) 4# 1704110400 5 6from datetime import datetime 7date = datetime.fromtimestamp(timestamp) 8# 2024-01-01 12:00:00
PHP1// PHP 2$timestamp = time(); 3// 1704110400 4 5$date = date('Y-m-d H:i:s', $timestamp); 6// 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 :
JAVASCRIPT1// JavaScript 2const timestamp = Date.now(); 3// 1704110400000 4 5const date = new Date(timestamp); 6// 2024-01-01T12:00:00.000Z
JAVA1// Java 2long timestamp = System.currentTimeMillis(); 3// 1704110400000 4 5Date date = new Date(timestamp);
PYTHON1# Python 2import time 3timestamp_ms = int(time.time() * 1000) 4# 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 :
JAVASCRIPT1// JavaScript 2const iso = new Date().toISOString(); 3// "2024-01-01T12:00:00.000Z" 4 5const date = new Date("2024-01-01T12:00:00Z");
PYTHON1# Python 2from datetime import datetime, timezone 3 4iso = datetime.now(timezone.utc).isoformat() 5# "2024-01-01T12:00:00+00:00" 6 7date = 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 :
JAVASCRIPT1// JavaScript 2const date = new Date(); 3const rfc2822 = date.toUTCString(); 4// "Mon, 01 Jan 2024 12:00:00 GMT"
PYTHON1# Python 2from email.utils import formatdate 3rfc2822 = formatdate(timeval=1704110400, localtime=False) 4# "Mon, 01 Jan 2024 12:00:00 -0000"
Formats SQL
DATETIME
SQL1'2024-01-01 12:00:00'
TIMESTAMP
SQL1'2024-01-01 12:00:00' 2-- Plage : 1970-01-01 à 2038-01-19 (MySQL < 8.0.28)
DATE
SQL1'2024-01-01'
TIME
SQL1'12:00:00'
Exemples de Code :
SQL1-- MySQL 2SELECT NOW(); 3-- 2024-01-01 12:00:00 4 5SELECT UNIX_TIMESTAMP(); 6-- 1704110400 7 8SELECT FROM_UNIXTIME(1704110400); 9-- 2024-01-01 12:00:00
SQL1-- PostgreSQL 2SELECT NOW(); 3-- 2024-01-01 12:00:00+00 4 5SELECT EXTRACT(EPOCH FROM NOW()); 6-- 1704110400 7 8SELECT TO_TIMESTAMP(1704110400); 9-- 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 |