Quest-ce que lépoque Unix et à quand remonte lépoque Unix ?

Quest-ce que lépoque Unix et à quand remonte lépoque Unix ?

Pourquoi Unix a-t-il sa propre conception du temps ? Quelle est l'époque et quel est le problème Y2038 ?

L'heure Unix est un moyen de représenter une date et une heure spécifiques, utilisée par Linux, macOS et de nombreux autres systèmes interopérables. C'est tellement répandu que vous l'utilisez probablement sans vous en rendre compte. Une fois que vous aurez compris le temps Unix, vous le remarquerez dans de nombreux contextes. Plusieurs outils peuvent vous aider à travailler avec le temps Unix.

Quel est le but du temps Unix ?

Le temps Unix est un nombre total de secondes depuis une heure et une date fixes. Il s'agit d'un format date/heure (ou horodatage) qui diffère des dates et heures lisibles par l'homme auxquelles nous sommes habitués. Ceci est purement pour des raisons d'efficacité. Il faut beaucoup moins d'espace pour stocker un seul nombre représentant les secondes que pour stocker des valeurs séparées pour l'année, le mois, l'heure, etc.

Bien sûr, en termes modernes, la différence d'espace n'est pas si grande du tout. Mais considérez qu'Unix est né à la fin des années 1960, lorsque le stockage disponible était beaucoup plus petit. Les horodatages sont également beaucoup utilisés, de sorte que leur stockage s'additionne. Par exemple, chaque fichier est associé à trois horodatages.

Le format est pratiquement impossible à traduire dans votre tête à moins que vous ne soyez un génie mathématique. Mais il présente encore certains avantages par rapport à des alternatives plus lisibles telles que Wed, 21 Oct 2015 07:28:00 GMT . Vous pouvez commander deux horodatages Unix très facilement, en un coup d'œil. Il est également généralement plus rapide de déterminer la différence entre deux horodatages. Cela est particulièrement vrai pour les dates rapprochées, comme les jours adjacents.

Qu'est-ce que l'époque Unix et à quand remonte l'époque Unix ?

À propos de l'époque

Ainsi, le temps Unix est un nombre total de secondes depuis un moment précis. Mais quel est ce moment-là ? Il est 00:00:00 UTC le 1er janvier 1970 . C'est ce qu'on appelle souvent l'époque Unix. Les programmeurs ont choisi cette date pour l'époque par commodité car c'était la date la plus proche lorsqu'ils ont inventé l'heure Unix.

Vous avez peut-être vu cette date quand quelque chose ne va pas. C'est clairement un bug, mais qui a l'air très étrange quand il en résulte une date antérieure à la naissance de beaucoup d'entre nous ! C'est tout à fait compréhensible, cependant, quand on connaît l'époque Unix. Si un système essaie d'afficher un horodatage qui n'a aucune valeur, il se traduira souvent par 0 et donnera la date exacte de l'époque.

Le format de données de temps Unix

À proprement parler, il n'y en a pas. Le type de données d'origine était un entier de 32 bits, et cela reste souvent le cas, même dans des systèmes beaucoup plus puissants.

Ce type de données permet à la valeur de stocker un total de 2^32 secondes, soit un peu plus de 136 ans. Cette valeur est généralement signée, ce qui signifie qu'elle peut être négative ou positive. Ainsi, il représente généralement 68 ans de part et d'autre de l'époque soit 1902-2038.

C'est encore une période limitée, bien sûr. Mais l'utilisation principale du format d'horodatage était pour des concepts tels que la modification de fichier. Le besoin était vraiment de représenter le temps proche du présent, plutôt que l'histoire ancienne ou loin dans le futur. Même pour des applications telles que les calendriers, il est rarement nécessaire de représenter des dates à plus de quelques décennies dans le futur.

Mais cela ne veut pas dire que ce laps de temps limité est sans problème…

Le problème de l'année 2038

Le bogue de l'an 2000 (l' une des pires erreurs de programmation de l'histoire ) a affecté les systèmes informatiques qui stockaient les années sous forme de valeurs à deux chiffres. Lorsque l'an 2000 est arrivé, de tels systèmes l'ont traité comme s'il s'agissait de 1900. En l'occurrence, ce n'était pas aussi catastrophique qu'on le craignait, principalement parce que de nombreuses personnes ont consacré beaucoup de temps et d'efforts à l'avance pour s'y préparer.

Si vous avez prêté attention à la section précédente, vous avez peut-être repéré un problème similaire qui pourrait affecter le temps Unix. Eh bien, le temps Unix a son propre problème de données : le problème Y2k38. (C'est souvent appelé un problème, pas un bogue ; peut-être sommes-nous devenus plus optimistes depuis l'an 2000 !) Lorsque le temps Unix s'achèvera littéralement en 2038, les systèmes traiteront les nouvelles dates comme 1902 ou 1970. va juste échouer complètement.

Au moins, ce problème ne nous frappera pas sur le coup de minuit le soir du nouvel an. La dernière seconde du temps Unix 32 bits tombera le 19 mars. À terme, nous mettrons probablement à niveau la plupart des systèmes d'ici 2038 ou ils seront de toute façon obsolètes d'ici là.

Quelques ressources d'horodatage utiles

Le site Epoch Converter est probablement le convertisseur d'horodatage le plus complet disponible. Il commence par afficher l'heure Unix actuelle - en temps réel - et ajoute presque toutes les fonctionnalités imaginables en plus de cela. Son utilisation principale est la conversion entre les horodatages et les dates lisibles par l'homme, dans les deux sens.

Dan's Tools est une vaste collection d'applications Web utiles, dont l'une est un convertisseur d'horodatage . C'est plus basique, mais a une présentation très propre et est facile à utiliser.

Time.is présente un autre look encore plus minimaliste. Il affiche l'heure dans un certain nombre de formats, y compris l'heure Unix. Il inclut l'heure actuelle dans le titre de sa page, ce qui est utile.

Qu'est-ce que l'époque Unix et à quand remonte l'époque Unix ?

Utilisation de l'heure Unix avec les outils de ligne de commande

Sous Linux et macOS, le programme de date est l'utilitaire principal pour gérer la date/l'heure, y compris les horodatages Unix. Appelé sans aucun argument, il renvoie la date/heure actuelle dans un format lisible par l'homme :

$ date Wed Feb 10 12:28:30 GMT 2021

Si vous avez besoin de la date/heure actuelle sous Unix, utilisez l' argument +%s :

$ date +%s 1612960114

Vous pouvez convertir une date lisible en un horodatage à l'aide de l' indicateur -d si votre version de date le prend en charge. La plupart des versions de Linux devraient, par défaut :

$ date -d "Jan 2 1970" +%s 82800

Sur macOS, la date est un programme différent, qui nécessite un ensemble d'indicateurs différent :

$ date -j -f "%b %d %Y %T" "Jan 02 1970 00:00:00" "+%s" 82800

Dans l'autre sens, vous pouvez convertir à partir d'un horodatage Unix en utilisant l' indicateur -r :

$ date -r 1600000000 Sun 13 Sep 2020 13:26:40 BST

Certains autres programmes utilisent le format %s pour gérer l'heure Unix. Par exemple, si vous souhaitez afficher la date de modification d'un fichier en temps Unix, avec la version Linux de ls , vous pouvez utiliser ce qui suit :

$ ls -l --time-style=+%s index.tmp.html -rw-r--r-- 1 ubuntu ubuntu 17862 1521649818 index.tmp.html

Comment utiliser le temps Unix dans les langages de programmation

PHP a la fonction  time() qui renvoie l'horodatage Unix actuel. Sa fonction date() prend un horodatage comme deuxième argument :

$ php -r 'echo date("Y-m-d", time());' 2021-02-11

JavaScript aborde les choses d'une manière intéressante. Il a une méthode Date.now() pour obtenir le nombre de millisecondes depuis l'époque Unix. Bien sûr, vous pouvez diviser cela par 1 000 et arrondir le résultat pour donner le temps Unix équivalent en secondes :

> Math.floor(Date.now() / 1000) 1613083012

Comprendre le temps Unix

Le temps Unix est un concept simple qui surgit à de nombreux endroits. Une fois que vous l'aurez compris, vous pourrez le trouver très utile, lors du calcul des décalages horaires, par exemple. Vous pouvez également reconnaître quand cela peut être la cause de certains bugs.

Des concepts tels que l'époque et les horodatages sont une partie importante de la prise en main de Linux. Pour en savoir plus sur les éléments essentiels tels que ls , consultez notre guide des commandes Linux de base.


Comment copier et coller sur Chromebook

Comment copier et coller sur Chromebook

La première chose que vous pourriez vous demander en passant à un Chromebook est de savoir comment faire les choses de base, le genre de choses que vous aviez sous la main dans votre ancien système d'exploitation. Le copier-coller est l'une de ces fonctions fondamentales que vous devez utiliser à un moment ou à un autre.

Comment faire un test de dactylographie sur Linux avec tt

Comment faire un test de dactylographie sur Linux avec tt

À l'ère moderne de la technologie, la dactylographie est devenue l'une des activités les plus courantes pour de nombreuses professions. Apprendre à taper plus rapidement avec précision peut vous aider à faire plus de choses dans le même laps de temps.

Le Wi-Fi ne fonctionne pas sur Ubuntu ? Voici comment y remédier

Le Wi-Fi ne fonctionne pas sur Ubuntu ? Voici comment y remédier

Ubuntu est populaire pour sa robustesse et relativement moins d'erreurs. Mais ce n'est pas sans son sac de problèmes, bien sûr. L'un de ces problèmes concerne son pilote Wi-Fi. Vous pourriez mettre votre système sous tension pour constater que votre Wi-Fi ne fonctionne pas.

Installez TeamViewer 8 pour Ubuntu 12.04

Installez TeamViewer 8 pour Ubuntu 12.04

Dans cette vidéo, j'installe et utilise TeamViewer 8 pour le système Ubuntu 12.04 avec un guide complet. Mais cela fonctionnera également sur Windows.

Comment créer et scanner des codes QR sur Chromebook

Comment créer et scanner des codes QR sur Chromebook

Les codes de réponse rapide, ou codes QR en abrégé, sont des codes-barres avancés qui contiennent plus d'informations qu'un code-barres traditionnel. Ces codes sont bidimensionnels, ce qui vous permet de les scanner verticalement ou horizontalement.

Comment installer et supprimer des packages dans Arch Linux

Comment installer et supprimer des packages dans Arch Linux

Vous voulez installer des packages sur Arch Linux mais vous ne savez pas comment faire ? Beaucoup de gens sont confrontés à ce problème lorsqu'ils migrent pour la première fois des distributions basées sur Debian vers Arch. Cependant, vous pouvez facilement gérer les packages sur votre système basé sur Arch à l'aide des gestionnaires de packages.

15 meilleurs thèmes pour Ubuntu 20.04 en 2020

15 meilleurs thèmes pour Ubuntu 20.04 en 2020

De nombreux nouveaux thèmes mis à jour sont prêts à être installés sur le nouveau bureau GNOME d'Ubuntu 20.04. Voici une liste des meilleurs thèmes Ubuntu en 2020

5 meilleures applications de transfert de fichiers Wi-Fi dUbuntu vers Android

5 meilleures applications de transfert de fichiers Wi-Fi dUbuntu vers Android

Un mécanisme comme le FTP, le transfert de fichiers peer-to-peer, le transfert Wi-Fi vous fera gagner du temps si vous partagez souvent des fichiers entre votre Android et Ubuntu.

Comment installer Spotify sur Linux

Comment installer Spotify sur Linux

Spotify est l'un des plus grands services de streaming musical. Il a des clients natifs pour les appareils mobiles (Android et iOS) et de bureau (Mac et Windows).

9 commandes de base pour démarrer avec Linux

9 commandes de base pour démarrer avec Linux

Les guides pratiques Linux s'attendent souvent à ce que vous effectuiez certaines opérations dans le terminal, ce qui peut sembler intimidant au début. Mais ne vous inquiétez pas ; cette aide-mémoire pour les commandes Linux couvrira le processus d'ouverture d'un terminal et l'émission de quelques commandes utiles.