L'heure Unix ou heure Posix est une mesure du temps fondée sur le nombre de secondes écoulées depuis le 1er janvier 1970 00:00:00 UTC, hors secondes intercalaires. Elle est utilisée principalement dans les systèmes qui respectent la norme POSIX, dont les systèmes de type Unix, d'où son nom. C'est la représentation POSIX du temps.
NB: cette date du « 1er janvier 1970 00:00:00 UTC » est appelée « époque Unix ».
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 ». 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 intercalaires, 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.
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ées (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 jours :
Pour mesurer le temps, il faut choisir une origine :
L'origine de l'heure POSIX a été choisie comme étant le 1er janvier 1970 00:00:00 UTC, cette date correspond à l'heure 0 de Posix, elle est appelée l'epoch 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 .
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 31 décembre 2008 à minuit.
L'Heure Posix n'est pas une représentation linéaire du temps, il y a des anomalies, comme la ligne 5 du tableau ci-dessus.