Skip to content

Convertisseur d'horodatage

Convertissez instantanément entre horodatages Unix et dates lisibles — plus Windows FILETIME, .NET Ticks, LDAP/AD, Chrome WebKit et Excel OADate. Collez n'importe quelle valeur, le format est détecté automatiquement, avec copie en un clic.

Convertisseur

Horodatage Unix en direct
Secondes0
Millisecondes0

Horodatage → Date

Date → Horodatage

Qu'est-ce qu'un horodatage Unix ?

Un horodatage Unix (aussi appelé temps epoch Unix ou temps POSIX) est le nombre de secondes écoulées depuis le 1970-01-01 00:00:00 UTC — l'epoch Unix. C'est la façon la plus courante de représenter un instant en programmation.

Par exemple, 1700000000 correspond au 14 novembre 2023, 22:13:20 UTC.

Caractéristiques des horodatages Unix :

  • Indépendants du fuseau horaire — toujours mesurés en UTC
  • Continus — pas de secondes intercalaires dans la plupart des implémentations
  • Compacts — un seul entier au lieu d'une chaîne de date complète

Secondes vs Millisecondes

Les horodatages Unix existent en deux résolutions courantes :

SecondesMillisecondes
Exemple17000000001700000000000
Précision1 seconde1 milliseconde
Utilisé parAPI Unix/Linux, la plupart des bases de donnéesJavaScript (Date.now()), Java, systèmes de journalisation
Chiffres~10 chiffres~13 chiffres

Comment les distinguer : Si le nombre a 13+ chiffres, ce sont des millisecondes. Ce convertisseur détecte automatiquement la résolution — collez simplement le nombre.

Cas d'utilisation courants

  • Débogage de journaux — Convertir les horodatages des journaux serveur en heures lisibles
  • Intégrations API — De nombreuses API REST utilisent des horodatages Unix pour les champs de date
  • Requêtes de base de données — Interroger des enregistrements par plage de temps avec des valeurs d'epoch
  • Planification — Calculer des délais ou planifier des événements futurs
  • UUID v7 — UUID v7 intègre un horodatage Unix en millisecondes dans ses 48 premiers bits ; décodez-le pour voir quand l'UUID a été créé
  • Administration Active Directory — Convertir les horodatages LDAP lastLogon, pwdLastSet et accountExpires en dates lisibles pour les audits d'utilisateurs
  • Automatisation Excel / Office — Décoder les numéros de série OADate lors de l'interopérabilité avec les tableurs et DateTime.FromOADate
  • Forensique Chrome — Lire les horodatages WebKit des bases SQLite History et Cookies pour le débogage ou l'investigation numérique

Qu'est-ce que Windows FILETIME ?

Windows FILETIME est une valeur 64 bits comptant des intervalles de 100 nanosecondes depuis le 1601-01-01 00:00:00 UTC. C'est le format d'heure natif de l'API Win32, du système de fichiers NTFS et de COM/OLE.

Une structure FILETIME stocke la valeur sous forme de deux DWORD 32 bits : dwLowDateTime et dwHighDateTime. Vous la rencontrez dans GetFileTime(), CoFileTimeNow() et les enregistrements de la table de fichiers maître (MFT) NTFS.

Formule de conversion :

unix_seconds = (filetime / 10000000) - 11644473600

Par exemple, 1335927553562300002024-05-04 04:32:15 UTC. Ce convertisseur détecte automatiquement les valeurs 18 chiffres inférieures à ~3 × 10¹⁷ comme FILETIME.

Qu'est-ce que .NET DateTime Ticks ?

.NET Ticks est un entier signé 64 bits comptant des intervalles de 100 nanosecondes depuis le 0001-01-01 00:00:00 UTC (an 1). C'est le stockage sous-jacent de DateTime en C#/.NET, accessible via DateTime.Now.Ticks.

La plage couvre les dates de 0001-01-01 à 9999-12-31 — une seule valeur long allant jusqu'à ~3,16 × 10¹⁸. Contrairement à FILETIME (basé sur 1601), les ticks .NET commencent à l'an 1 pour éviter les valeurs négatives et simplifier les calculs calendaires.

Par exemple, 638514336000000000 ticks → 2024-05-16 00:00:00 UTC. Les valeurs supérieures à ~3 × 10¹⁷ sont détectées comme ticks .NET ; en dessous, FILETIME est plus probable.

Qu'est-ce que l'horodatage LDAP / Active Directory ?

Les horodatages LDAP (utilisés par Microsoft Active Directory) sont numériquement identiques à FILETIME — intervalles de 100 nanosecondes depuis le 1601-01-01 UTC. La différence est purement contextuelle : les attributs AD tels que lastLogon, lastLogonTimestamp, pwdLastSet et accountExpires stockent des valeurs FILETIME sous le schéma LDAP.

Les administrateurs AD convertissent couramment ces valeurs pour auditer l'activité des utilisateurs et l'expiration des mots de passe. En PowerShell :

powershell
[DateTime]::FromFileTime($value).ToString('yyyy-MM-dd HH:mm:ss')

Par exemple, 1325145600000000002020-12-03 00:00:00 UTC. Un accountExpires à 9223372036854775807 (Int64.MaxValue) signifie « n'expire jamais ».

Qu'est-ce que l'horodatage Chrome / WebKit ?

Les horodatages Chrome et WebKit comptent des microsecondes (et non des 100 nanosecondes) depuis le 1601-01-01 UTC. Ils apparaissent dans les bases SQLite History, Cookies et Login Data de Chrome — utiles pour le débogage, l'forensique et la récupération de données.

Comme l'unité est la μs (et non 100 ns), les valeurs sont 10× plus petites que FILETIME pour le même instant. Les valeurs de l'époque actuelle ont 17 chiffres (~1,3 × 10¹⁶).

Pour interroger l'historique Chrome en SQL :

sql
SELECT datetime(time / 1000000 - 11644473600, 'unixepoch') AS visit_time
FROM urls ORDER BY visit_time DESC LIMIT 10;

Par exemple, 133176960000000002023-01-09 00:00:00 UTC.

Qu'est-ce que Microsoft OADate / le numéro de série Excel ?

OADate (OLE Automation Date) est un double comptant les jours depuis le 1899-12-30. La partie fractionnaire représente l'heure du jour (0,5 = midi). Excel, Google Sheets et l'automatisation Office utilisent tous ce format de série en interne.

Pourquoi le 1899-12-30 et non le 1900-01-01 ? Excel reproduit intentionnellement un bug d'année bissextile de 1900 (1900 n'était pas bissextile, mais Lotus 1-2-3 l'a traité comme telle). En décalant l'epoch de deux jours en arrière, les dates Excel restent compatibles avec le bug historique.

Par exemple, 45678.52025-01-21 12:00:00. En C# : DateTime.FromOADate(45678.5). Dans Excel : =DATE(2025;1;21) renvoie 45678.

FAQ

Qu'est-ce que le problème de l'an 2038 ? Les horodatages Unix en entiers signés 32 bits atteignent leur maximum à 2147483647 (19 janvier 2038, 03:14:07 UTC). Les systèmes utilisant encore time_t 32 bits subiront un dépassement. La plupart des systèmes modernes sont passés aux horodatages 64 bits, qui ne déborderont pas avant 292 milliards d'années.

Comment cet outil gère-t-il les fuseaux horaires ? Les horodatages Unix sont par nature en UTC. Ce convertisseur affiche à la fois la représentation UTC et le fuseau horaire local de votre navigateur.

Puis-je utiliser des horodatages négatifs ? Oui. Les horodatages Unix négatifs représentent des dates avant l'epoch (1970-01-01 00:00:00 UTC). Par exemple, -86400 est le 31 décembre 1969, 00:00:00 UTC — exactement un jour avant l'epoch.

Quelle est la différence entre FILETIME et les horodatages LDAP ? Numériquement, aucune — ce sont tous deux des intervalles de 100 nanosecondes depuis le 1601-01-01 UTC. « FILETIME » est le nom Win32/COM ; « horodatage LDAP » désigne la même valeur stockée dans les attributs Active Directory comme lastLogon. Utilisez la même formule de conversion pour les deux.

Pourquoi .NET DateTime Ticks commence-t-il à l'an 1 ? Le calendrier .NET commence au 0001-01-01 (le début conventionnel du calendrier grégorien) afin que toutes les dates valides produisent des valeurs de tick positives. Cela évite la complexité de gestion des signes de l'epoch 1601 de FILETIME et simplifie l'arithmétique des dates sur toute la plage 0001–9999.

Pourquoi l'epoch OADate est-elle le 30 décembre 1899 ? Excel a hérité d'un bug de Lotus 1-2-3 qui traitait 1900 comme une année bissextile (ce qui n'était pas le cas). Pour que des dates comme le 1er mars 1900 correspondent entre Excel et la réalité, l'epoch OLE Automation a été fixée au 1899-12-30 — deux jours avant le « 1er janvier 1900 » nominal, compensant le 29 février 1900 fantôme.