Une fois par an, vers la fin décembre, le 31 pour être précis, à minuit d’ailleurs pour l’être totalement, nous changeons d’année.

Rien de nouveau sous le soleil, mais comment nos amis les ordinateurs vivent-ils ce moment en général festif pour nous humains mais à priori tout ce qu’il y a de plus banal pour eux ?

Est-ce si simple pour les ordinateurs ? 

Nous sommes le 31 décembre 2020, 23:59:59 dans une seconde notre ordinateur va devoir mettre à jour un certain nombre de données.

Je dis un certain nombre car toutes les données de temps ne sont pas concernées : il existe de nombreux compteurs de temps qui ne sont pas liés à la date au sens commun du terme.

Il ne se passe donc rien pour les compteurs sur la base POSIX, ceux qui comptent des secondes ou des millisecondes à partir d’un instant de départ, le plus connu est celui qui a commencé le 1er Janvier 1970 à compter des secondes dans un entier 32 bit signé qui n’aura pas de souci avant 2038.

Par contre, dès que la machine sépare et traite les jours, les mois, les années et on verra plus loin les semaines, tout se complique.

Ydentity

Le difficile changement de date 

Il faut pour la machine tout à la fois incrémenter certains compteurs et en remettre d’autres à zéro.

Pas très compliqué pour un ordinateur, si on omet le fameux mais inexistant bug de l’an 2000 (et oui il y a déjà plus de 20 ans), pour lequel on avait eu peur que le 99 de 1999 se transforme bien en 00 mais précédé de 19, ce qui aurait à coup sûr provoqué une apocalypse numérique, mais qui n’a finalement qu’abrégé la carrière de vieux PC et d’applications DOS obsolètes.

C’est plus complexe pour le programmeur qui chercherait à détecter le dernier instant de 2020, il ne le trouvera jamais.

On est en 2020 aussi longtemps qu’on est avant 2021, et de même pour les mois, les jours, etc.

De même, s’il cherche le premier instant de 2021, il ne le trouvera pas non plus, il devra se contenter de la première heure, voire de tester qu’il est bien pour la première fois en 2021.

Reste le cas de la première semaine  

Les heures, jours et mois basculent de concert, seule la semaine est de mauvaise composition,

Le jeudi 31, sommes-nous dans la dernière semaine de 2020 et le Vendredi 1er janvier dans la première de 2021 ? Impossible, nous sommes dans la même semaine pour les deux jours !

Après de nombreuses tergiversations, l’ISO a fini par trancher pour une norme : quand au moins 4 jours de la semaine sont dans une année, celle-ci fait partie de l’année concernée, ou plus simple la première semaine de l’année est celle du premier jeudi.

En clair, le premier jeudi de 2021 est le 7 janvier donc la première semaine ne commence que le 4 janvier 2021.

Moralité, non seulement 2020 fut une année calamiteuse, mais de plus sa dernière semaine nous emmène jusqu’au dimanche 3 Janvier 2021.

 

Olivier Piochaud, PDG d’Apsynet

 

Newsletter

Categories: Actus