Timestamp Unix en date et heure – convertisseur d’horodatage epoch

Dernière révision du contenu :

Collez un horodatage Unix et lisez la date et l’heure. La valeur 1700000000 correspond au 14 novembre 2023, 22:13:20 UTC. Le convertisseur reconnaît secondes, millisecondes, microsecondes et nanosecondes au nombre de chiffres, et l’option Heure locale affiche l’heure de votre appareil.

Vous pouvez saisir des secondes, des millisecondes, des microsecondes ou des nanosecondes. L’unité est reconnue au nombre de chiffres.

UTC
Fuseau horaire

Avec UTC, l’heure s’affiche sans décalage, comme l’enregistrent les journaux et les bases de données. Avec l’heure locale, elle s’affiche dans le fuseau horaire de votre appareil, avec le décalage.

vers

Qu’est-ce qu’un timestamp Unix, ou horodatage Unix ?

Un timestamp Unix, en français horodatage Unix ou heure Unix, est le nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC[1]. Cet instant zéro s’appelle l’époque Unix. UTC est le temps universel coordonné, la référence à partir de laquelle se comptent les fuseaux horaires du monde.

La méthode de calcul est fixée par POSIX, la norme commune des systèmes de type Unix. Chaque jour y compte exactement 86 400 secondes[2]. Les secondes intercalaires ajoutées à UTC n’ont pas de numéro propre dans ce décompte[1].

L’horodatage ne contient aucune information de fuseau horaire[3]. Le nombre 1700000000 désigne le même instant à Paris et à Montréal. Seule change l’heure affichée par les horloges des deux villes à cet instant.

Cinq horloges murales portant les noms Sídney, Londres, Monterrey, Vancouver et New York
Les horloges de cinq villes affichent cinq heures différentes. Un même horodatage Unix désigne le même instant sur les cinq cadrans, et seule l’heure lue dans chaque fuseau change. Photo : Luis Cortes, Unsplash.

Quelle date correspond à un timestamp Unix ?

Le timestamp Unix 1700000000 correspond au 14 novembre 2023 à 22:13:20 UTC. En France métropolitaine, il était 23 h 13 min 20 s, car l’heure d’hiver y vaut UTC+1[4]. À Montréal, il était 17 h 13 min 20 s, car l’heure normale du Québec vaut UTC-5[5].

Collez n’importe quel horodatage dans le champ Horodatage Unix, et la date apparaît dans le champ Date et heure pendant la saisie. Sous le résultat, le convertisseur indique l’unité dans laquelle il a lu le nombre.

Il reconnaît l’unité au nombre de chiffres. Un horodatage actuel en secondes compte dix chiffres. Une valeur issue de JavaScript en compte treize, car Date.now() renvoie des millisecondes[6]. Le résultat de time.time_ns() en Python compte dix-neuf chiffres, car cette fonction compte des nanosecondes[7].

L’option Heure locale du sélecteur Fuseau horaire affiche l’heure de votre appareil avec le décalage de son fuseau.

Pour obtenir l’horodatage d’une date, utilisez le convertisseur de date en timestamp Unix.

Comment convertir un timestamp Unix en date ? Formule et exemple

En heure Unix, chaque jour compte exactement 86 400 secondes[2]. Pour convertir un horodatage en date, divisez-le par 86 400. La partie entière du résultat donne le nombre de jours complets depuis le 1er janvier 1970. Le reste de la division donne l’heure de ce jour en secondes.

Prenons l’horodatage 1700000000. Divisé par 86 400, il donne 19 675 jours complets. Le reste est de 80 000 secondes.

Si l’on compte le 1er janvier 1970 comme jour zéro, le jour 19 675 est le 14 novembre 2023. Le reste donne l’heure de ce jour : 80 000 secondes font 22 heures, 13 minutes et 20 secondes. Le résultat complet est 2023-11-14 22:13:20 UTC.

Divisez d’abord un horodatage en millisecondes par 1000, en microsecondes par un million et en nanosecondes par un milliard. Le convertisseur ci-dessus fait lui-même cette division avant de calculer la date. Le convertisseur de date en timestamp Unix fait le calcul inverse, d’une date vers un nombre de secondes.

Convertissez d’abord en décimal un horodatage écrit en hexadécimal, comme 6553F100. Le convertisseur décimal en hexadécimal le fait après un clic sur Inverser l’ordre. La valeur 6553F100 vaut 1700000000 en décimal.

Quelles dates correspondent aux timestamps Unix ronds ?

Nous avons réuni des horodatages ronds et limites : l’époque, les jours qui l’entourent, chaque centaine de millions de secondes supplémentaire, l’horodatage aux chiffres de 1 à 0 dans l’ordre et les limites d’un entier de 32 bits. Toutes les dates sont en UTC, comme les affiche le convertisseur avec l’option UTC.
HorodatageDate et heure en UTCCe que marque cette valeur
-21474836481901-12-13 20:45:52Plus petit entier signé de 32 bits
-864001969-12-31 00:00:00Un jour avant l’époque
-11969-12-31 23:59:59Dernière seconde avant l’époque
01970-01-01 00:00:00Époque Unix
864001970-01-02 00:00:00Fin du premier jour
10000000002001-09-09 01:46:40Un milliard de secondes
12345678902009-02-13 23:31:30Chiffres de 1 à 0 dans l’ordre
15000000002017-07-14 02:40:001,5 milliard de secondes
16000000002020-09-13 12:26:401,6 milliard de secondes
17000000002023-11-14 22:13:201,7 milliard de secondes
17356896002025-01-01 00:00:00Début de 2025
17672256002026-01-01 00:00:00Début de 2026
18000000002027-01-15 08:00:001,8 milliard de secondes
20000000002033-05-18 03:33:20Deux milliards de secondes
21474836472038-01-19 03:14:07Plus grand entier signé de 32 bits
41024448002100-01-01 00:00:00Début de 2100
42949672952106-02-07 06:28:15Plus grand entier non signé de 32 bits
L’heure Unix a atteint la valeur 1234567890, aux chiffres de 1 à 0 dans l’ordre, le vendredi 13 février 2009 à 23:31:30 UTC[8]. En France, il était déjà 0 h 31 le 14 février. Un compteur stocké comme entier signé de 32 bits déborde après la valeur 2147483647. Sa valeur passe alors à -2147483648, soit le 13 décembre 1901[1]. En binaire, 2147483647 s’écrit avec 31 chiffres 1. Le convertisseur décimal en binaire l’affiche sous cette forme.

Comment savoir si un horodatage est en secondes, millisecondes ou nanosecondes ?

L’unité se reconnaît au nombre de chiffres. Tout horodatage du 9 septembre 2001 au 20 novembre 2286 compte dix chiffres en secondes. Pour les dates actuelles, la longueur dans chaque unité reste donc la même.
UnitéChiffres aujourd’huiL’instant 1700000000 dans cette unitéOù vous la rencontrez
Secondes101700000000time() en PHP, champ exp d’un JWT, horodatages sur Discord
Millisecondes131700000000000Date.now() en JavaScript, EPOCHTODATE avec l’unité 2
Microsecondes161700000000000000EPOCHTODATE avec l’unité 3
Nanosecondes191700000000000000000time.time_ns() en Python
La fonction time() de PHP renvoie le nombre de secondes depuis l’époque[3]. Les champs exp, nbf et iat d’un JWT contiennent un nombre de secondes qui peut avoir une partie décimale[9]. Discord attend un horodatage en secondes[10]. Date.now() renvoie des millisecondes[6], et time.time_ns() en Python des nanosecondes[7]. La fonction EPOCHTODATE de Google Sheets accepte l’unité 1 pour les secondes, 2 pour les millisecondes et 3 pour les microsecondes[11].

Quelle formule ou commande convertit un timestamp Unix en date ?

Chaque ligne convertit l’horodatage 1700000000 en 14 novembre 2023, 22:13:20 UTC. Nous avons vérifié sur cet horodatage les résultats de la commande date, de Python et de JavaScript.
OùFormule ou commandeRésultat pour 1700000000
Excel=A1/86400+DATE(1970;1;1)2023-11-14 22:13:20 une fois la cellule au format date et heure
Excel, horodatage en millisecondes=A1/86400000+DATE(1970;1;1)La même date pour la valeur 1700000000000
Google Sheets=EPOCHTODATE(A1)Date et heure en UTC
Google Sheets, millisecondes=EPOCHTODATE(A1; 2)Date et heure en UTC pour la valeur 1700000000000
MySQLSELECT FROM_UNIXTIME(1700000000);2023-11-14 22:13:20 si la session est en UTC
PostgreSQLSELECT to_timestamp(1700000000);2023-11-14 22:13:20+00 si la session est en UTC
Pythondatetime.fromtimestamp(1700000000, tz=timezone.utc)2023-11-14 22:13:20+00:00
JavaScriptnew Date(1700000000 * 1000).toISOString()2023-11-14T22:13:20.000Z
Linux, commande datedate -u -d @1700000000Tue Nov 14 22:13:20 UTC 2023
PowerShell 7.1 et versions ultérieuresGet-Date -UnixTimeSeconds 1700000000 -AsUTCDate et heure en UTC au format des paramètres régionaux
MySQL renvoie le résultat de FROM_UNIXTIME dans le fuseau horaire de la session, c’est-à-dire le fuseau réglé pour la connexion en cours[12]. PostgreSQL convertit un horodatage avec la fonction to_timestamp en type timestamp with time zone[13]. PostgreSQL affiche les valeurs de ce type dans le fuseau défini par le paramètre TimeZone[14]. En Python, la ligne nécessite l’import from datetime import datetime, timezone. La méthode utcfromtimestamp est obsolète depuis la version 3.12, et la documentation recommande fromtimestamp avec le fuseau UTC[15]. La commande date accepte un horodatage précédé du signe @[16]. Get-Date dispose des paramètres -UnixTimeSeconds et -AsUTC depuis PowerShell 7.1[17].

Comment régler la formule dans Excel et Google Sheets pour afficher une date ?

Pour un seul horodatage, le champ ci-dessus est plus rapide. Une colonne entière d’horodatages exportés d’une base de données se convertit avec une formule recopiée vers le bas.

  1. Excel : formule avec la fonction DATE

    Saisissez l’horodatage dans la cellule A1 et la formule =A1/86400+DATE(1970;1;1) dans la cellule B1. Dans Excel en français, la fonction DATE a pour arguments année, mois et jour[18]. La formule divise les secondes par le nombre de secondes d’une journée et ajoute le résultat à la date du 1er janvier 1970.
  2. Excel : format de date et d’heure pour la cellule

    Excel stocke les dates sous la forme de numéros de série séquentiels, et le 1er janvier 1900 porte le numéro de série 1[18]. La cellule B1 affiche donc d’abord un nombre de jours avec décimales, environ 45 244,93. Dans Format de cellule, onglet Nombre, choisissez la catégorie Personnalisé et saisissez le format aaaa-mm-jj hh:mm:ss. Vous voyez alors 2023-11-14 22:13:20[19].
  3. Excel : classeur au système de date 1904

    Excel peut compter les dates à partir du 1er janvier 1904, et la différence entre les deux systèmes de date est de 1 462 jours[20]. Dans le système 1900, le 1er janvier 1970 porte le numéro 25569. Dans le système 1904, le même jour porte le numéro 24107. DATE renvoie le numéro dans le système de date du classeur, si bien que la formule donne la bonne date dans les deux systèmes.
  4. Google Sheets : la fonction EPOCHTODATE

    Dans Google Sheets, la formule =EPOCHTODATE(A1) suffit. Un horodatage en millisecondes demande le second argument 2, et un horodatage en microsecondes l’argument 3. Le résultat est toujours en UTC, quel que soit le fuseau horaire de la feuille[11].
  5. Heure française ou québécoise dans la feuille

    Les deux formules donnent l’heure UTC. Pour l’heure légale française, ajoutez 1/24 en hiver et 2/24 en été[4]. Pour l’heure de Montréal, retirez 5/24 en heure normale et 4/24 en heure avancée[5].

Pourquoi le convertisseur affiche-t-il une autre heure que votre horloge ?

Par défaut, le convertisseur affiche l’heure UTC, car l’horodatage lui-même se compte sur cette échelle[1]. En France métropolitaine, l’heure légale vaut UTC+1 en hiver et UTC+2 en été[4]. En 2026, l’heure d’été commence le 29 mars, quand il est 3 heures à 2 heures du matin, et se termine le dernier dimanche d’octobre[21].

Au Québec, l’heure normale vaut UTC-5 et l’heure avancée UTC-4. L’heure est avancée le deuxième dimanche de mars et revient à la normale le premier dimanche de novembre[5].

L’horodatage 1700000000 donne donc 22:13:20 en UTC, 23 h 13 à Paris et 17 h 13 à Montréal. L’horodatage 1782864000 correspond à minuit UTC le 1er juillet 2026, soit 2 h à Paris et 20 h le 30 juin à Montréal.

Les bases de données fonctionnent de la même manière. MySQL affiche le résultat de FROM_UNIXTIME dans le fuseau horaire de la session[12]. Le même horodatage lu avec une session en UTC puis avec une session en Europe/Paris donne deux heures différentes.

L’option Heure locale du sélecteur Fuseau horaire affiche votre heure sans calcul, à condition que le fuseau de votre appareil soit bien réglé. Pour obtenir l’horodatage d’une heure précise, utilisez le convertisseur de date en timestamp Unix.

Horloge numérique posée sur un bureau à côté d’un clavier, affichant 10:03
Une horloge de bureau affiche l’heure locale. Le convertisseur affiche l’heure UTC par défaut, et l’option Heure locale donne l’heure qu’affiche une horloge comme celle-ci. Photo : Andrei Anufrienko, Unsplash.

Sources

  1. Heure Unix — Wikipédia
  2. The Open Group Base Specifications Issue 8 (POSIX.1-2024), 4.19 Seconds Since the Epoch — The Open Group
  3. time — PHP Manual — The PHP Group
  4. Heure en France — Wikipédia
  5. Changement d’heure (temps légal) — Gouvernement du Québec
  6. Date.now() — MDN Web Docs
  7. time — Time access and conversions — Python Software Foundation
  8. Unix time — Wikipédia (anglais)
  9. RFC 7519: JSON Web Token (JWT) — IETF
  10. Reference — Message Formatting — Discord Developer Documentation
  11. Fonction EPOCHTODATE — Aide Éditeurs Google Docs
  12. MySQL 8.4 Reference Manual, Date and Time Functions — Oracle
  13. PostgreSQL Documentation, Date/Time Functions and Operators — PostgreSQL Global Development Group
  14. PostgreSQL Documentation, Date/Time Types — PostgreSQL Global Development Group
  15. datetime — Basic date and time types — Python Software Foundation
  16. GNU Coreutils, Seconds since the Epoch — Free Software Foundation
  17. Get-Date (Microsoft.PowerShell.Utility) — Microsoft Learn
  18. DATE — Microsoft Support
  19. Mettre en forme une date comme vous le souhaitez dans Excel — Microsoft Support
  20. Jeux de dates dans Excel — Microsoft Support
  21. Le passage à l’heure d’été, c’est pour bientôt — Service-Public.fr
  22. Year 2038 problem — Wikipédia (anglais)

Toutes les valeurs des tableaux ont été calculées à partir des définitions des unités et vérifiées par le calcul avant publication. Les données historiques et les noms des unités locales proviennent des sources citées ci-dessus.

Dernière révision du contenu : · rédigé et vérifié par l'équipe Arteon

Questions fréquentes sur le timestamp Unix

Quel est le timestamp Unix actuel ?

L’horodatage actuel augmente de un chaque seconde. En septembre 2026, il se situe entre 1788220800 et 1790812799. Dans la console du navigateur, l’expression Math.floor(Date.now() / 1000) renvoie la valeur exacte, car Date.now() renvoie des millisecondes[6].

Que signifie le champ exp d’un JWT ?

Le champ exp indique l’instant à partir duquel le jeton ne doit plus être accepté. Sa valeur est le nombre de secondes depuis le 1er janvier 1970 UTC, sans les secondes intercalaires[9]. Collez-la dans le convertisseur pour voir la date et l’heure d’expiration du jeton. Le champ iat, l’instant d’émission du jeton, et le champ nbf, l’instant avant lequel le jeton ne doit pas être accepté, s’écrivent de la même manière[9].

Qu’est-ce que le problème de l’an 2038 ?

Avec un entier signé de 32 bits, la date la plus avancée qu’un horodatage peut représenter est le 19 janvier 2038, et le compteur revient ensuite au 13 décembre 1901[1]. Cette valeur maximale, 2147483647, s’écrit 7FFFFFFF dans le convertisseur décimal en hexadécimal. Depuis sa version 5.6, sortie en 2020, le noyau Linux gère un temps sur 64 bits aussi sur les architectures 32 bits[22].

Un timestamp Unix peut-il être négatif ?

Oui. Les nombres négatifs désignent des dates antérieures à l’époque, le 1er janvier 1970[1]. L’horodatage -86400 correspond au 31 décembre 1969 à 00:00:00 UTC. Le convertisseur accepte le signe moins placé devant le nombre.

Comment l’heure Unix traite-t-elle les secondes intercalaires ?

Chaque jour compte exactement 86 400 secondes en heure Unix[2], donc une seconde intercalaire n’a pas de numéro propre. La documentation GNU donne un exemple de fin 2016. L’horodatage 1483228799 correspond au 31 décembre à 23:59:59 UTC, et l’horodatage 1483228800 est déjà minuit le 1er janvier 2017. La seconde 23:59:60 ne peut pas s’écrire sous forme d’horodatage[16].

Comment afficher un timestamp Unix dans un message Discord ?

Écrivez <t:1700000000> dans le message. Discord affiche cet instant dans le fuseau horaire et le format de chaque lecteur. Ajoutez un style après un second deux-points : <t:1700000000:R> affiche le temps relatif et <t:1700000000:F> la date complète avec le jour de la semaine[10].

Pourquoi Python a-t-il rendu utcfromtimestamp obsolète ?

La méthode datetime.utcfromtimestamp() est obsolète depuis Python 3.12. Elle renvoie un objet sans fuseau horaire, et de nombreuses méthodes du module datetime traitent un tel objet comme une heure locale. La documentation recommande à la place datetime.fromtimestamp(horodatage, tz=timezone.utc)[15].

Le champ accepte-t-il les espaces, les points et les millisecondes ?

Oui. Vous pouvez séparer les chiffres par groupes de trois avec des espaces, des points, des tirets bas ou des apostrophes, comme dans 1 700 000 000. Une seule virgule ou un seul point sépare une fraction de seconde, comme dans 1700000000,5. Le convertisseur reconnaît lui-même les millisecondes, microsecondes et nanosecondes au nombre de chiffres.

Comment reconvertir une date en timestamp Unix ?

Cliquez sur Inverser l’ordre. Le convertisseur de date en timestamp Unix s’ouvre avec le résultat du champ Date et heure déjà saisi. Vous y saisissez la date sous la forme 2023-11-14 22:13:20 ou 14.11.2023 22:13.

Capture d'écran de l'outil gratuit d'Arteon: Timestamp Unix en date et heure – convertisseur d’horodatage epoch

Aidez-nous à améliorer nos outils

Vous avez une idée, trouvé un bug ou souhaitez suggérer une fonctionnalité ? Écrivez-nous.