Bonjour

Dans un script, j'ai utilisé la méthode dont nous avons parlé il n'y a pas longtemps:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
date --date="1 day ago"
Pour faire la liste de dates valides.

Quand je suis parti, tout marchait. Aujourd'hui, je reviens et ça ne marche plus.
Après avoir scruter le tout, j'ai découvert que le 31 mars 2012 n'existait pas dans la liste des dates valides.

Voici la console qui atteste de sa disparition et sa réapparition:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
[00:57:55 ~/Documents]$ for ((i=1;i<365;i+=1)); do printf "%d " $i;date --date="$i day ago" "+%d.%m.%Y"; done|less
[00:59:13 ~/Documents]$ date --date='39 days ago'
lundi 1 avril 2013, 00:59:40 (UTC+0200)
[00:59:40 ~/Documents]$ date --date='40 days ago'
samedi 30 mars 2013, 23:59:46 (UTC+0100)
[00:59:46 ~/Documents]$ date --date='38 days ago'
mardi 2 avril 2013, 00:59:54 (UTC+0200)
[00:59:54 ~/Documents]$ date --date='39 days ago'
lundi 1 avril 2013, 01:00:23 (UTC+0200)
[01:00:23 ~/Documents]$ date --date='40 days ago'
dimanche 31 mars 2013, 00:00:25 (UTC+0100)
[01:00:25 ~/Documents]$
À l'heure qu'il est, sans rien changer, mon script est redevenu fonctionnel.

Pourquoi m'affiche-t-il parfois la date en UTC+0100 et parfois en UTC+0200 ?
Pourquoi le 31 mars a-t-il disparu?