emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debbugs-tracker] bug#11098: closed (date --yesterday wrong result)


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#11098: closed (date --yesterday wrong result)
Date: Mon, 26 Mar 2012 18:04:03 +0000

Your message dated Mon, 26 Mar 2012 11:31:57 -0600
with message-id <address@hidden>
and subject line Re: bug#11098: date --yesterday wrong result
has caused the debbugs.gnu.org bug report #11098,
regarding date --yesterday wrong result
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
11098: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11098
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: date --yesterday wrong result Date: Mon, 26 Mar 2012 13:31:00 +0200 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:

address@hidden:> 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:

address@hidden:> 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
address@hidden.com


--- End Message ---
--- Begin Message --- Subject: Re: bug#11098: date --yesterday wrong result Date: Mon, 26 Mar 2012 11:31:57 -0600 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120316 Thunderbird/11.0
tag 11098 notabug
thanks

On 03/26/2012 05:31 AM, Hugo Guérineau wrote:
> 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:
> 
> address@hidden:> 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.

Thanks for the report.  However, this is not a bug in date, but in your
expectations.  'yesterday' translates to '24 hours ago', and due to your
daylight savings swap, 24 hours ago really does put you into a different
date.  As recommended in our FAQ,

https://www.gnu.org/software/coreutils/faq/#The-date-command-is-not-working-right_002e

it's almost always better to base relative time computations off of noon
rather than midnight (as both 11 am and 1 pm fall in the same day, even
when your multiple-of-24-hours crosses a 23-hour or 25-hour day).

-- 
Eric Blake   address@hidden    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]