Date et heure

Timestamp WindowsLire la date sans perdre le contexte

Convertissez une valeur Windows ou une date avec sept décimales. Choisissez sa représentation et son attribut LDAP pour comprendre les cas particuliers.

Timestamp Windows

Entrée

Les données sont traitées dans ce navigateur et ne sont pas envoyées à un serveur.

Résultats

Options

Époque Windows : 1601-01-01 UTC · un tick = 100 ns.

Une valeur par ligne. Haut/bas : high,low (décimal ou 0x, mots décimaux signés acceptés). Octets : 16 chiffres hexadécimaux ou 8 paires. Date : YYYY-MM-DDTHH:mm:ss[.1–7 chiffres]Z ou ±HH:mm ; année étendue +YYYYYY.

L’ordre agit uniquement sur les octets. Choisissez le véritable champ AD. Le décimal -1 est accepté seulement comme commande pwdLastSet.

Dates UTC avec sept décimales. Quotients Unix arrondis vers le bas, restes en ticks de 100 ns.

Jusqu’à 1 000 lignes physiques et 100 000 unités UTF-16. Espaces en bordure retirés ; lignes vides signalées.

Saisissez des données ou chargez un exemple.

Un Timestamp Windows extrait du registre ou d’un export Active Directory n’est pas toujours une date à afficher. Ce convertisseur FILETIME conserve l’entier original et permet de contrôler ses octets sans perdre les dernières décimales.

Le zéro change de sens selon le champ : début de l’année 1601, compte sans expiration ou connexion inconnue. Le contexte choisi accompagne donc le résultat, au lieu d’être déduit de la longueur du nombre.

Pourquoi vérifier un Timestamp Windows ici ?

Des octets aux deux mots de 32 bits

Le Timestamp Windows apparaît en décimal, en hexadécimal complet, en mots haut/bas et dans les deux ordres d’octets. L’option petit-boutiste ne modifie que l’entrée de huit octets, jamais un entier déjà décodé.

Huit blocs d’octets colorés changent d’ordre et se regroupent en deux mots de trente-deux bits.

Les sentinelles restent des états

Le mode général affiche une date pour zéro. Avec accountExpires, il indique aucune expiration ; avec lastLogon, une heure inconnue. Ces états n’obtiennent ni date inventée ni horodatage Unix.

Un même zéro mène vers un calendrier, le signe infini et un symbole de temps inconnu.

Distinguer nombre et ordre des octets

01

Respecter l’ordre haut,bas

Saisissez high,low, même si la déclaration C place le mot bas en premier. L’entrée octets accepte seize chiffres hexadécimaux continus ou huit paires séparées par des espaces. Seul ce mode active le choix de l’ordre.

02

Préciser le décalage de la date

Pour revenir à un entier, ajoutez Z ou ±HH:mm. Le fuseau de l’ordinateur ne sert pas de valeur implicite. L’exemple suit le format choisi ; une prévisualisation précède toute substitution du texte.

03

Vérifier les états avant l’inversion

Le calcul automatique attend 350 ms après la saisie. Désactivez-le pour utiliser le bouton ou Ctrl/Cmd+Enter. Toutes les lignes doivent contenir une date pour inverser. Annuler restaure ensemble saisie, options et résultat.

Vérifier chaque représentation

Conserver le dernier tick

116444736000000001 donne 1970-01-01T00:00:00.0000001Z. Les calculs entiers et les nombres exportés comme chaînes préservent ce tick. Les dates affichent sept décimales, sans passage intermédiaire par une valeur arrondie à la milliseconde.

Lire les mots COM signés

Le format haut/bas accepte les DWORD non signés et les LONG décimaux sur 32 bits. Un mot négatif est interprété en complément à deux. Le rapport montre les deux notations, sans appliquer cette règle à un FILETIME entier négatif.

Garder les restes Unix

Un horodatage LDAP fondé sur FILETIME change d’époque avant le passage aux secondes ou millisecondes. Les quotients sont arrondis vers moins l’infini et leurs restes non négatifs restent exprimés en ticks. Les instants juste avant 1970 conservent ainsi leur fraction.

Retrouver les erreurs dans le lot

Chaque ligne garde sa position et son texte d’origine. Jusqu’à 1 000 lignes sont traitées, avec 50 résultats visibles au départ. Une erreur locale ne bloque pas les voisins ; copier ou télécharger inclut tout le rapport JSON.

Ce que la valeur ne permet pas de conclure

Une limite pour les bits, une autre pour les dates
La lecture accepte jusqu’à 18446744073709551615. Au-delà de 9223372036854775807, le rapport garde les représentations binaires mais signale une valeur hors du domaine FileTimeToSystemTime. Le dernier instant du mode général utilise une année ISO étendue.
Ne pas généraliser les valeurs AD
accountExpires utilise zéro et le plus grand entier signé pour l’absence d’expiration. pwdLastSet=0 exige de vérifier UF_DONT_EXPIRE_PASSWD ; -1 décimal est une commande d’écriture. lastLogon=0 signifie inconnu sur ce contrôleur, pas une preuve d’absence de connexion.
Des dates explicites et valides
Les secondes et Z ou ±HH:mm sont obligatoires, avec un décalage limité à ±14:00. Les années au-delà de 9999 prennent la forme +YYYYYY. Jours impossibles, secondes intercalaires, 24:00, -00:00 et plus de sept décimales sont refusés.
Pas de détection par nombre de chiffres
Choisissez décimal, entier hexadécimal, huit octets ou high,low. La notation scientifique et les séparateurs de milliers sont refusés. Les espaces en bordure sont retirés, les lignes vides restent des erreurs. Un petit entier peut aussi être valide.
Aucun accès au répertoire ni au disque
Le convertisseur ne contacte pas LDAP, ne lit pas la MFT ou le registre et ne modifie pas les fichiers. GeneralizedTime, ticks .NET et dates Excel ont leurs propres formats. Aucun état de compte ni délai de mot de passe n’est déduit d’un champ isolé.
Des remplacements contrôlables
La limite globale est de 100 000 unités UTF-16 et 1 000 lignes physiques ; un dépassement rejette le lot. Exemple, effacement et inversion montrent le texte et sa taille avant application. Une restauration reste disponible jusqu’à la prochaine modification manuelle.

Timestamp Windows : questions fréquentes

Comment obtenir une date lisible à partir d’un timestamp Windows ?

Pour un entier FILETIME, choisissez sa représentation et vérifiez l’attribut source. Le résultat normal est une date UTC avec sept décimales. Pour des octets bruts, précisez aussi leur ordre ; ne les lisez pas directement comme un entier hexadécimal.

Comment produire un timestamp Windows à partir d’une date ?

Choisissez Date → FILETIME et indiquez les secondes ainsi qu’un suffixe Z ou un décalage explicite. Le calcul ramène l’instant à UTC puis compte les intervalles de 100 ns depuis 1601. Les dates invalides ne sont pas corrigées automatiquement.

Que signifient 0 et 9223372036854775807 dans AD ?

Dans accountExpires, ces deux nombres signifient que le compte n’expire pas. Leur sens n’est pas universel : zéro reste la date d’origine en mode général et indique une heure inconnue dans lastLogon. Le champ doit être connu.

Quel fuseau utiliser pour une date Windows ?

FILETIME représente un instant UTC. Ce résultat peut différer d’un affichage local Windows. Ici, le suffixe fourni est respecté et la sortie reste UTC ; aucun fuseau nommé ou changement d’heure local n’est deviné.

LDAP emploie-t-il aussi d’autres formats de date ?

Oui, par exemple GeneralizedTime pour whenCreated ou whenChanged. Une chaîne telle que 20240101000000.0Z n’est pas un compteur de ticks. Ce format ne fait pas partie des entrées acceptées par cette page.

Un résultat inattendu ?

Conserver la valeur avec son interprétation

Conservez le rapport du Timestamp Windows avec le nom du champ et le texte initial. L’ordre des octets, le contexte et les fractions restent alors vérifiables après la conversion.