Flux RSS - La vie du site - Nouveautés et mises à jour
Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

Comment convertir un timestamp (time stamp) Unix Epoch en date et heure

Comment convertir un timestamp (time stamp) Unix Epoch en date et heure. Unix Timestamp Converter. Convertisseur d'horodatage Unix. Epoch Converter.

22.06.2016 - Révision 22.06.2016 - Révision mineure 10.12.2020. Auteur : Pierre Pinard.

Le TimeStamp (horodatage) dont on parle ici est un compteur numérique représentant une quantité de temps écoulée, en secondes, depuis un instant de référence (une époque) : le 1er janvier 1970 à minuit UTC précise. Par exemple : 1493576205.

Cette forme de représentation des dates n'est pas unique : il y en a bien d'autres. Celle-ci a été choisie au début des années 1970 durant l'écriture du système d'exploitation UNIX (créé en 1969 par Kenneth Thompson). Initialement, elle était différente. La première édition du « Unix Programmer's Manual », datée du 3 Novembre 1971, défini le temps UNIX (« Unix epoch ») comme « The time since 00:00:00, Jan. 1, 1971, measured in sixtieths of a second » (« Temps écoulé depuis le 1er janvier 1971 à 00:00:00, mesuré en soixantième de seconde »).

Cette forme de représentation d'une date et heure est inintelligible par l'humain. Elle présente quelques avantages dont :

  1. Un tri facilité, croissant ou décroissant, dans les tableurs et toutes les listes de données
  2. Des comparaisons avant / après facilitées
  3. Une gestion sans problème dans les Systèmes de Gestion de Bases de Données (SGBD) puisqu'il s'agit de nombres ordinaires
  4. Une universalité et une internationalisation d'usage puisque totalement hors du système de fuseaux horaires ou des systèmes de changement d'heure (heure d'été / heure d'hiver).

Elle présente aussi quelques inconvénients :

  1. Sur une machine 32 bits, le TimeStamp est un entier signé de 32 bits. Ce TimeStamp permet de gérer une période totale de 231 secondes (on garde un bit pour le signe, positif ou négatif), soit à peu près 136 années, de -231 (-2 147 483 648, ce qui donne la date la plus reculée du 1901-12-13 T 20:45:52) au 231-1 (2 147 483 647, ce qui donne la date la plus avancée du 2038-01-19 T 03:14:07). On s'attend au bug de l'an 2038 (s'il y a encore des machines ou des logiciels 32 bits en 2038, ce qui est peu probable).
  2. Sur les machines 64 bits, il est probable que le codage du timestamp et les logiciels seront / sont en 64 bits. Le timestamp est alors un entier signé de 64 bits (263). Cela permet une représentation de quantité de temps écoulé supérieure à 292 milliards d'années. Lorsque l'on sait que la durée de vie de la Terre est d'environ 15 milliards d'années et qu'il ne lui en reste qu'environ 5 milliards à exister, ce compteur ne pose plus de problème.

Comment convertir un timestamp « Unix epoch » en date et heure, avec Excel :

Dans la cellule A1, entrons un timestamp, par exemple 1493576205. Dans la cellule B1, entrons la formule =ENT(((A1/60)/60)/24)+DATE(1970;1;1). C'est tout.

Paramétrez le format de la cellule : par exemple : jj/mm/aaaa hh:mm.

Les autres « Epoch » (les autres époques)

  • sous UNIX, c'est le 1er janvier 1970 à 0 heure (UTC)
  • sous Mac OS, le 1er janvier 1904 à 0 heure.
  • sous Mac OS X et macOS, il y a deux epoch selon l'environnement utilisé :
    • l'epoch UNIX (1er janvier 1970 à 0 heure) ; et
    • l'epoch Cocoa (1er janvier 2001 à 0 heure).
  • sous VMS, le 17 novembre 1858 à 0 heure (basé sur le Jour julien modifié)
  • sous MVS, le 1er janvier 1900 à 0 heure
  • sous Windows le 1er janvier 1601 à 0 heure
  • sous Pick, le 1er janvier 1968 à 0 heure
  • sous MS-DOS et OS/2, le 1er janvier 1980 à 0 heure

Changez, dans la formule de calcul, la date charnière indiquée par +DATE(1970;1;1), en utilisant la date charnière de l'« Epoch » (l'époque) à convertir.

Excel - Convertir un timestanp en date et heure - Époques (Epochs) notables utilisées par les systèmes

La date charnière d'une époque (epoch) varie considérablement en fonction des arbitraires des différents systèmes d'exploitation. En voici quelques exemples :

Date de démarrage de l'époque

Usages principaux (systèmes ou logiciels)

Raison de cette sélection

0 janvier 0

MATLAB

Calendrier proleptique (relatif à la prolepse) . Cordonnées temporelles établies d’après un système de mesure du temps qui n’était pas encore établi lors du fait en question. Ici, il s'agit du calendrier grégorien proleptique qui sert à noter des événements s’étant produits avant 1582.

1er janvier 1

Microsoft .NET, Go, REXX, Rata Die

Calendrier proleptique (relatif à la prolepse) . Cordonnées temporelles établies d’après un système de mesure du temps qui n’était pas encore établi lors du fait en question. Ici, il s'agit du calendrier grégorien proleptique qui sert à noter des événements s’étant produits avant 1582.
Ère commune (veut remplacer les locutions « apr. J.-C./av. J.-C. » et commence en l'an 1 (ce qui pose le problème de l'abscence d'an 0), ISO 2014, RFC 3339

15 octobre 1582

UUID version 1

Date de bascule du calendrier grégorien

1er janvier 1601

NTFS, COBOL (développé par Grace Hopper), Win32/Win64

1601 était la première année des cycles de 400 ans du calendrier grégorien à l'époque où Windows NT a été codé.

31 décembre 1840

MUMPS

1841 une année non-bissextile avant la naissance du plus vieux citoyen américain vivant au moment du codage de ce langage de programmation.

17 novembre 1858

VMS, United States Naval Observatory, DVB SI 16-bit day stamps, other astronomy-related computations

Ce jour à 00:00:00 UT est le point de démarrage du calendrier julien modifié (MJD) equivalent au jour Julien 2400000.5

30 décembre 1899

Microsoft COM DATE, Object Pascal, LibreOffice Calc, Google Sheets

Valeur technique interne à Excel pour assurer la compatilibité avec Lotus 1-2-3.

31 décembre 1899

Microsoft C/C++ 7.017

Un écart dans la dernière version non "visual" de Microsoft C/C++ qui a été finalement annulé.

0 janvier 1900

Microsoft Excel, Lotus 1-2-3

Alors que le 0 janvier 1900 devrait être l'équivalent du 31 décembre 1899, ces systèmes n'autorisent pas cette date à cause d'un bug plaçant 1900 comme une année bissextile.

1er janvier 1900

Network Time Protocol, IBMCICS, Mathematica, RISC OS, VME, Common Lisp, Michigan Terminal System, MVS

1er janvier 1904

LabVIEW, Apple Inc., Classic Mac OS, JMP Scripting Language, Palm OS, MP4, Microsoft Excel (optionally), IGOR Pro

1904 est la première année bissextile du XXe siècle.

1er janvier 1958

TAI

1er janvier 1960

SAS System

31 décembre 1967

Pick OS et variantes (jBASE, Universe, Unidata, Revelation, Reality)

Choisi de manière que (date mod 7) 0=Dimanche, 1=Lundi, 2=Mardi, 3=Mercredi, 4=Jeudi, 5=Vendredi, et 6=Samedi.

1er janvier 1970

Unix Epoch, connu également comme POSIX time, utilisé par Unix et les systèmes basés sur Unix (Linux, macOS), et la plupart des langages de programmation comme les implémentations du C/C++, Java, JavaScript, Perl, PHP, Python, Ruby, TCL, ActionScript. Utilisé également par PTP.

Excel - Convertir un timestanp en date et heure

January 1, 1978

AmigaOS(Les systèmes matériels Commodore Amiga ont été introduits entre 1985 et 1994. Dernière version OS 4.1 [décembre 2016]). AROS, MorphOS.

January 1, 1980

IBM BIOS INT 1Ah
Systèmes de fichiers DOS, OS/2, FAT12, FAT16, FAT32, exFAT

L'IBM PC avec son BIOS, aussi bien que 86-DOS, MS-DOS et PC DOS avec leur système de fichiers FAT12 furent développés et introduit entre 1980 et 1981

January 6, 1980

QualcommBREW, GPS, ATSC 32-bit time stamps

Le GPS compte le nombre de semaines (une semaine commence le dimanche) et le 6 janvier est le premier dimanche de 1980.

January 1, 2000

AppleSingle, AppleDouble, PostgreSQL, ZigBee UTCTime

January 1, 2001

Apple's Cocoa framework

2001 est l'année de la sortie de Mac OS X 10.0 (mais NSDate pour EOF 1.0 d'Apple a été développé en 1994).

Le temps est mesuré en nombre d'unités de temps depuis cette date. L'unité de temps la plus courante est la seconde. Il arrive que l'unité ne soit pas spécifiée et que l'on parle de tick, qui est la plus petite unité de temps gérée par le système d'exploitation.

Excel - Convertir un timestanp en date et heure - Époques (Epochs) notables utilisées par les systèmes


Outils d'investigations


# Ailleurs sur le Web #

  1. #Excel - Convertir un timestanp en date et heure#