Alors que j'essayais d'implémenter une nouvelle fonction Python liée à la gestion du temps, j'ai buté sur un bug. Le but était de supporter les dates avant 1970 (epoch négatif). Le résultat pour les dates entre 1946 et 1969 étaient corrects, par contre pour les dates antérieures il y avait un « trou » incompréhensible de quelques heures.

Fuseaux horaires

En me documentant sur les fuseaux horaires, j'ai appris que la France est passée d'UTC+0 à UTC+2 en 1940, suite à l'invasion allemande. Ah ! C'était donc ça.

La France est le pays du monde qui couvre le plus de fuseaux horaire (12) :

  1. UTC-10 : Polynésie française (Îles de la Société, Archipel des Tuamotu, Archipel des Tubuai)
  2. UTC-9:30 : Polynésie française (Îles Marquises)
  3. UTC-9 : Polynésie française (Îles Gambier)
  4. UTC-8 : Clipperton
  5. UTC-4 : Guadeloupe, Martinique
  6. UTC-3 : Guyane française, Saint-Pierre-et-Miquelon
  7. UTC+1 : France métropolitaine
  8. UTC+3 : Îles éparses de l'océan Indien, Mayotte
  9. UTC+4 : Îles Crozet, La Réunion
  10. UTC+5 : Îles Kerguelen, Îles Saint-Paul et Amsterdam
  11. UTC+11 : Nouvelle-Calédonie
  12. UTC+12 : Wallis-et-Futuna

Heure d'été, heure d'hiver

Déjà, les fuseaux horaires, c'est compliqué. Mais il y a pire : l'heure d'été et l'heure d'hiver ! En juin 1916, la France adopte l'heure d'été et l'heure d'hiver, suite à la proposition du député André Honnorat. À la fin de la 2e guerre mondiale, l'heure d'été est abandonné en 1946 (ouf !), avec une certaine confusion entre zone libre et occupée.

Mais en 1975, l'heure d'été et l'heure d'hiver (UTC+1 et UTC+2) font leur grand retour suite au choc pétrolier de 1974. Depuis 2002, les dates des changements sont fixées par l'Union Européenne.

Selon une étude de la Commission européenne de 2007, « les économies effectivement réalisées sont difficiles à déterminer, et, en tout cas, "relativement limitées" »... Je vois pas pourquoi on s'emmerde à conserver cet héritage idiot qui sert juste à perturber tout le monde (y compris les vaches qui font du mauvais lait pour se venger).

tzdata

Au niveau informatique, sous Linux c'est tzdata qui est utilisé : paquet qui contient les informations sur les fuseaux horaires, heure d'été/d'hiver et les secondes intercalaires. C'est une archive qui est maintenue par Arthur David Olson et disponible sur le serveur FTP du ''National Institutes of Health''. L'archive compressée du 17 août 2009, tzdata2009l.tar.gz, pèse 176 Ko, taille qui montre bien la complexité de la gestion du temps...

Remarques

  • Le changement d'heure estival a été introduit dans l'ensemble des pays de l'Union européenne au début des années 1980.
  • En traversant la frontière depuis l'Afghanistan pour aller en Chine, on passe d'un fuseau horaire UTC+4:30 à un fuseau UTC+8.
  • Un fuseau horaire n'est pas forcément un nombre entier d'heures. Il existe par exemple les fuseaux UTC-9:30 et UTC+12:45

Sources : le calendrier du changement d'heure d'été, heure d'hiver, service public français, heure d'été (Wikipédia)

Je trouve surtout que c'est un grand bordel et qu'il serait plus simple qu'on utilise tous l'heure UTC. D'ailleurs, la Chine n'a qu'un seul fuseau horaire malgré sa superficie !