L'heure Unix courante ()(ISO 8601: Z) L'heure Unix ou heure Posix est une mesure du temps fondée sur le nombre de secondes écoulées depuis le 00:00:00 UTC, hors secondes intercalaires. Elle est utilisée principalement dans les systèmes qui respectent la norme POSIXPOSIX est une marque déposée de « IEEE » ; UNIX est une marque déposée du consortium « The Open Group » https://www.opengroup.org/., dont les systèmes de type Unix, d'où son nom. C'est la représentation POSIX du temps.
NB: cette date du « 00:00:00 UTC » est appelée « époque Unix ».
Prologue La fin de phrase « ..., hors secondes intercalaires » dans la définition ci-dessus signifie que l'heure Unix ou heure Posix n'est pas égale à la durée exacte en secondes qui s'est écoulée depuis l'« époque Unix »The Unix leap second mess - http://www.madore.org/~david/computers/unix-leap-seconds.html. Pas plus d'ailleurs que la date et heure UTC ne permettent non plus de calculer cette durée exacte.
Dans les deux cas, pour obtenir le décompte exact des secondes qui se sont écoulées depuis l'« epoch Unix », il faut se procurer une table des secondes intercalairesSeconde_intercalaire#Chronologie_des_modifications_du_temps_universel_coordonn%C3%A9, et il faut ajouter à l'heure Posix la somme arithmétique des secondes intercalaires qui ont été insérées, ou bien retranchées, depuis cette « epoch Unix ».
Pour l'heure UTC, cet écart est accepté car l'heure UTC est irrégulière par construction. Elle est asservie à la rotation de la Terre sur elle-même, qui elle-même est irrégulière. Depuis des millénaires, les habitudes de vie des hommes et des femmes sont rythmées, de façon universelle, par les cycles de rotation de la Terre sur elle-même. L'heure UTC est un outil créé pour, en quelques sortes, nous aider à rester synchronisés sur cette rotation.
Par contre, s'agissant de l'heure Unix ou heure Posix, c'est-à-dire un compteur de nombre de secondes écoulées depuis l'« époque Unix », il est dérangeant que ce décompte puisse être inexact. Cette convention de mesure du temps est dérangeante. Les paragraphes suivants de cet article donnent des éléments pour montrer comment s'en accommoder.
Heure POSIX
Associer un événement dans le temps à un nombre réel Pour associer un événement à un nombre réel, il suffit d'utiliser des références naturelles et universelles : par exemple, les périodicités de rotation de la Terre sur elle-même, et autour du Soleil. Ces périodicités sont suffisantes pour établir des calendriers, c'est-à-dire des relations entre des événements et des dates, même si quelques efforts sont nécessaires pour bien définir les références utiliséesOn pourra également consulter Epoch time vs. time of day pour une discussion sur certains aspects légaux, et également les autres pages de ce site ; en particulier Plots of deltas between time scales pour comparer les écarts entre différentes références. (chaque pays a les siennes, toutes adoptées à des instants différents) ; les dates de ces calendriers ne sont que des nombres exprimés dans un système de numération un peu compliqué qui a pour unités le jour, la semaine, le mois, la saison, l'année, etc., et l'heure Posix n'est qu'une référence parmi d'autres exprimée sous forme d'un simple nombre.
Principaux systèmes de mesures utilisés Voici les principaux systèmes de mesure du temps qui ont été imaginés et utilisés jusqu'à nos joursIl ne faudrait pas penser que cette liste est aussi courte, on pourra consulter Time Scales pour une liste plus exhaustive et précise. :
Sigle Signification Définition GMTTemps moyen de GreenwichL’utilisation de l’ancienne appellation standard « temps moyen de Greenwich » (GMT, de l’anglais « Greenwich Mean Time ») est désormais déconseillée parce que sa définition est ambiguë, au contraire d’UTC, qui doit lui être préférée. Ce sigle s’était imposé par la prépondérance de la marine britannique durant le et fut plus tard rebaptisé Temps universel (UT, de l’anglais Universal Time). Comme le temps UTC est le temps civil du méridien origine des longitudes à Greenwich, certains ont tenté de prolonger l’usage de GMT en le traduisant désormais par « Greenwich Meridian Time » mais ce glissement sémantique n’a aucune valeur officielle.Encore en usage dans certains pays pour des aspects légauxVoir l'article Greenwich Mean Time| l'utilisation de GMT dans la législation..
Néanmoins la définition de ce système de mesure est ambigüe. C'est la raison pour laquelle, en dehors de cet usage administratif, il est préférable d'utiliser UTC. UTTemps universelCe système définit le jour comme la durée moyenne de rotation de la Terre autour de son axe.
Cette définition pose quelques difficultés car la vitesse de cette rotation n’est pas constante, elle diminue lentement sous l’effet des marées et, de plus, présente des irrégularités imprévisibles : la durée des jours UT est très légèrement supérieure, en moyenne, à (nombre de secondes dans 24h). L'écart est de l’ordre de la seconde sur une à trois années.
On distingue plusieurs versions de UT : UT0, UT1, UT1R, UT2. On se reportera à l'article « Temps universel » pour plus de détails. TAITemps atomique internationalCe système est fondé sur une définition internationale de la seconde. Son étalon est constitué par plusieurs horloges atomiques réparties dans le monde. La mesure du temps dans ce système est strictement régulière à la différence de la précédente pour qui son étalon n'a pas la même régularité. En conséquence, TAI et UT s'éloignent progressivement l'un de l'autre du fait du ralentissement du second; c'est ce que montre la figure ci-dessus. Une différence de deux TAI permet de calculer un délai écoulé de façon exacte. UTCTemps universel coordonnéCe système est adopté comme base du temps civil international par un grand nombre de pays. Le mot « coordonné » indique que : la différence entre UTC et TAI est un nombre entier de secondes, la différence entre UTC et UT1 n'est jamais plus grande que .
Autrement dit, UTC est identique au TAI (il en a la stabilité et l’exactitude) à un nombre entier de secondes prèsDans l’échelle UTC, les secondes et tous les autres sous-multiples (milliseconde, microseconde, etc.) sont de durée constante, mais la minute et toutes les unités supérieures (heure, jour, semaine, etc.) sont de durée variable. L’ajout ou la suppression de ces secondes intercalaires est rare, de l’ordre d'une seconde sur une à trois années. La plupart des jours UTC comportent , la plupart des heures , et la plupart des minutes mais certains peuvent comporter respectivement ou bien , ou bien et ou bien ., et les secondes intercalaires lui permettent de coller à UT à près ; c'est ce que montre la figure ci-dessusSi on traçait sur un graphique similaire la différence entre UT1 et TAI, on verrait UT1 et TAI s'éloigner progressivement l'un de l'autre au rythme du ralentissement de la rotation de la Terre ; de même, on verrait UTC et TAI s'éloigner l'un de l'autre par bons successifs au rythme de l'ajout/suppression des secondes intercalaires..
Le respect de cet écart maximal entre UT et UTC est garanti par le Service international de la rotation terrestre et des systèmes de référence (IERS), fondé en particulier à l’Observatoire de Paris, qui décideCet ajout (ou suppression) a lieu soit la fin de la dernière minute du dernier jour du mois précédant le ou le , exceptionnellement cela peut être le ou le , et est annoncé 6 mois à l'avance par l'IERS via son BULLETIN C - Product metadata. En mars 2009, il n’y a jamais eu de suppression de secondes intercalaires, et vraisemblablement il n'y en aura jamais compte tenu du fait que la vitesse de rotation de la terre diminue inexorablement. Il pourra être intéressant de consulter les autres bulletins de l'IERS IERS Bulletins. de rajouter (ou supprimer) des secondes intercalaires chaque fois qu'UTC et UT s’écartent trop l’un de l’autre. Une différence de deux heures UTC permet de calculer un délai écoulé de façon exacte tant que les deux événements ne sont pas à cheval sur une seconde intercalaire (voir ci-dessous la probabilité et l'amplitude de l'erreur). Pour calculer un délai exact à la seconde près en toutes circonstances, il faut tenir compte des secondes intercalairesLes secondes intercalaires futures sont prévues avec une anticipation de six mois au maximum, c'est le rythme auquel l'IERS diffuse son bulletin de prévision. Pour les valeurs passées on peut faire usage d’une table..
Choix d'une origine du temps Pour mesurer le temps, il faut choisir une origine : L'origine de l'heure POSIX a été choisie comme étant le 00:00:00 UTCIl y a une difficulté avec cette définition, dans le sens qu'UTC n'existait pas avant 1972 ; cette difficulté est contournée en utilisant des nombres négatifs pour une date antérieure à l'époque ; ainsi 04-10-1957T00:00:00Z, avant l'époque, est représenté par l'heure POSIX × = ., cette date correspond à l'heure 0 de Posix, elle est appelée lepoch Posix (et également epoch Unix).
L'origine du TAI a été définie telle que UT1-TAI soit égal à 0 le premier janvier 1958, voir réf .
Évolution du temps Il faut indiquer comment évolue ce nombre en fonction du temps qui passe : Pour chaque seconde écoulée, l'heure POSIX s'accroît d'exactement une unité et ce de façon invariable tout au long de l'année, sauf lorsque l'IERS décide d'ajouter (ou de supprimer) une seconde intercalaire ; Pour chaque seconde écoulée, l'heure TAI s'accroît d'exactement une unité, ad vitam æternam.
Le tableau ci-dessous illustre le cas de l'ajout de la seconde intercalaire qui a eu lieu le à minuitVoir Leap Seconds..
Tableau 1 : L'heure Posix au passage de minuit lorsqu'une seconde intercalaire fut ajoutée le à minuit #TAIUTCTAI - UTCHeure Posix 1 2008-12-31T23:59:5733 2 2008-12-31T23:59:5833 3 2008-12-31T23:59:5933 4 2008-12-31T23:59:6033 ajout d'une seconde intercalaire 5 2009-01-01T00:00:0034 6 2009-01-01T00:00:0134 7 2009-01-01T00:00:0234
L'Heure Posix n'est pas une représentation linéaire du temps, il y a des anomaliesUn PC ne va pas spontanément ralentir/accélérer son compteur interne par lui-même ; l'ajustement peut être fait par l'utilisateur ou bien plus vraisemblablement, s'il est connecté à internet, de façon automatique et quasi-silencieuse par un service d'horloge, généralement il s'agit de NTP., comme la ligne 5 du tableau ci-dessus.
Il n'y a pas correspondance bijective entre l'heure UTC et l'heure Posix ; ce dernier ne permet pas de représenter les secondes intercalaires présentes dans UTC, comme la ligne 4 du tableau ci-dessus : 2008-12-31T23:59:60 UTC.
Temps écoulé entre deux événements
Il ne faut pas mélanger ces différentes références (par exemple, l'an zéro d'un calendrier ne commence pas au même instant que celui d'un autre) et également parce que tous ces calendriers ont besoin de s'adapter aux périodicités non multiples les unes des autres, par exemple les années bissextiles, ou bien les irrégularités de ces périodicités. Ces adaptations compliquent un petit peu les calculs, en fonction de la précision que l'on recherche ; par exemple, il s'est écoulé un an peut être une information suffisante ou bien il faudra tenir compte du caractère bissextile de l'année pour répondre à la même question exprimée en nombre de jours. Cela veut dire qu'il faut conserver une mémoire du passé, la mémoire de chaque seconde qui passe.
Dans la plupart des cas, une simple différence des heures Posix suffit, sauf si les deux événements sont à cheval sur une ou plusieurs secondes intercalaires. Pour calculer un délai exact en toutes circonstances, il faut tenir compte des secondes intercalaires.