Subject: date --yesterday wrong result
From: Hugo Guérineau <[email-masked]>
To: [email-masked]
Date: Mon, 26 Mar 2012 13:31:00 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Dear Mister, Madam,

I'm writing to report a date computation problem.

The command "date --date='yesterday' +%Y-%m-%d" launched this morning
between 0:00 am and 0:59 am gives the wrong result:

root@serveur:> date --date='today' +%Y-%m-%d; date --date='yesterday'
+%Y-%m-%d
2012-03-26
2012-03-24

This is caused by the system clock changes which happened last night. If we
run the command with full date display format, we can see that UTC+0100
have switch to UTC+0200:

root@serveur:> date --date='today'; date --date='yesterday'
lundi 26 mars 2012, 00:27:43 (UTC+0200)
samedi 24 mars 2012, 23:27:43 (UTC+0100)

Without any reference to UTC, "yesterday" means "the day before" and not
"now minus 24 hours". That's the reason why results are good in the full
display format and wrong when we are only displaying the day.

I hope this report will be usefull and want to thank you for any feedback
you could give me about it.

Yours faithfully,

Hugo Guérineau
Expert Génie Logiciel
tel: 06.50.88.43.47
[email-masked]