Qu'est-ce qu'un timestamp Unix ?
Un timestamp Unix (aussi appelé temps epoch ou temps POSIX) correspond au nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC, sans tenir compte des secondes intercalaires. C'est la manière universelle dont les ordinateurs enregistrent un instant précis, indépendamment des fuseaux horaires et des formats de calendrier. Ce calculateur prend un timestamp exprimé en millisecondes (l'unité renvoyée par la plupart des langages de programmation, comme Date.now() en JavaScript) et le convertit en secondes, minutes et jours écoulés depuis l'epoch.
Comment l'utiliser
Saisissez votre temps Unix en millisecondes dans le champ, puis validez. L'outil effectue une division entière par 1000 pour obtenir des secondes Unix complètes — la forme la plus utilisée par les bases de données, les API et la commande date +%s sous Linux. Le tableau de résultats affiche également la valeur d'origine en millisecondes ainsi que les minutes et les jours écoulés, pour des vérifications rapides.
La formule expliquée
La conversion de base s'écrit $$\text{epoch\_s} = \left\lfloor \frac{\text{now\_ms}}{1000} \right\rfloor$$ La division par 1000 transforme les millisecondes en secondes, et la fonction floor (partie entière) supprime la partie fractionnaire afin d'obtenir un timestamp en secondes entières. Pour les minutes, on utilise \( \left\lfloor \frac{\text{now\_ms}}{60000} \right\rfloor \) et pour les jours \( \left\lfloor \frac{\text{now\_ms}}{86\,400\,000} \right\rfloor \), sachant qu'une journée compte 86 400 secondes, soit 86 400 000 ms.
Exemple concret
Supposons que \( \text{now\_ms} = 1\,700\,000\,000\,000 \). Alors $$\text{epoch\_s} = \left\lfloor \frac{1\,700\,000\,000\,000}{1000} \right\rfloor = 1\,700\,000\,000 \text{ secondes}$$ ce qui correspond au 14 novembre 2023. Les minutes depuis l'epoch valent \( \left\lfloor \frac{1\,700\,000\,000\,000}{60000} \right\rfloor = 28\,333\,333 \), et les jours \( \left\lfloor \frac{1\,700\,000\,000\,000}{86\,400\,000} \right\rfloor = 19\,675 \).
FAQ
Pourquoi des secondes et pas des millisecondes partout ? Les anciens systèmes et de nombreuses API (Unix, Postgres, le champ exp des JWT) stockent les secondes, tandis que les navigateurs et Java utilisent les millisecondes. Passer de l'un à l'autre revient simplement à multiplier ou diviser par 1000.
Et les secondes intercalaires ? Le temps Unix ignore les secondes intercalaires : le compte reste une mesure linéaire et régulière, pratique pour les calculs, mais qui ne s'aligne pas parfaitement sur le temps UTC astronomique.
Cela posera-t-il problème en 2038 ? Les systèmes qui stockent ce nombre de secondes dans un entier signé sur 32 bits subiront un dépassement de capacité le 19 janvier 2038. Les systèmes modernes en 64 bits ne sont pas concernés.