Archive du 06-02-2009

1234567890, un nombre romantique

06-02-2009 par Horacio Gonzalez
LiB romantique

La plupart des utilisateurs des systèmes d’exploitation dérivés d’Unix (dont Linux et Mac OS) sont familiarisés avec l’heure Unix, le système de représentation du temps dans ces systèmes.

La représentation en heure Unix d’un instant donnée est le nombre de secondes entre minuit du 1er janvier 1970 et cet instant-la. Au moment où j’écris ce billet, 22h31 du 7 février de 2009, c’est donc 1234002715 en heure Unix.

Certains valeurs d’heure Unix sont bien connus, soit par son importance comme 2147483647, le moment du bug de l’an 2038*, soit par être des valeurs curieux, comme le passage à l’heure Unix 1000000000, arrivé le 9 septembre 2001.

Et c’est sur l’un de ces valeurs curieux que je voulais vous parler aujourd’hui, l’heure Unix 123456789, qui arrivera le jour de la St Valentin prochain, 14 février un peu après minuit, comme vous pouvez vérifier depuis votre ligne de commandes :


horacio@horacio-portable:~$ date -d "2009-02-14 00:31:30" "+%Z: %s"
CET: 1234567890

C’est amusant, pour une fois la St Valentin va avoir une certaine signification :devil_tb:

Trouvé grâce à DespuesDeGoogle.

* Sur la plupart de systèmes, l’heure Unix est stocké sur 32 bits avec signe. Cela fait que la valeur maximale en heure Unix qu’on peut utiliser dans ces systèmes est le 2 147 483 647 (01111111 11111111 11111111 11111111 en binaire), c’est à dire le 19 janvier 2038 à 3 h 14 min 7 s. Cette nuit-là la représentation du temps fera un boucle. Théoriquement, cela posera un problème au moins aussi grand que celui de l’an 2000, et c’est en s’inspirant de celui-là qu’on le connais comme bug de l’an 2038.