Thank you yes, the debug option is going to be very useful.
Fevzi
On 3/13/17 9:06 PM, Pádraig Brady wrote:
On 13/03/17 05:17, Eric Blake wrote:
tag 26081 notabug
thanks
On 03/13/2017 12:09 AM, Fevzi Karavelioglu wrote:
Hello, I started getting an error with the following command:
$> date --date="02:05 tomorrow" +%s
*date: invalid date `02:05 tomorrow'*
It appears any time 2 in the morning causes the error. But everything else
appears to work fine. This appears to have started after midnight on March
12 2017. May be something to do with daylight saving as it starts at 2AM?
Everything to do with daylight savings. In fact, it's a FAQ:
https://www.gnu.org/software/coreutils/faq/coreutils-faq.html#The-date-command-is-not-working-right_002e
You're trying to start from a time that doesn't exist in your timezone,
due to it falling within the hour that was skipped. Which is why we
recommend that date-relative commands be executed relative to noon
rather than midnight, since no (known) timezone makes their daylight
savings adjustments at noon, and even if the relative operations land at
11 am or 1 pm after crossing the boundary, you still end up in the right
relative day.
*$> date --versiondate (GNU coreutils) 8.13Copyright (C) 2011 Free Software
Newer versions of coreutils come with a 'date --debug' option that give
you even more insight into failures, including your use case of
specifying a time that does not exist in your time zone.
I'm closing this as not a bug, but feel free to add further comments to
the thread.
For completeness the --debug option outputs:
TZ=America/Los_Angeles date --debug --date="12 Mar 2017 02:05" +%s
date: parsed date part: (Y-M-D) 2017-03-12
date: parsed time part: 02:05:00
date: input timezone: -08:00 (set from TZ="America/Los_Angeles" environment
value)
date: using specified time as starting value: '02:05:00'
date: error: invalid date/time value:
date: user provided time: '(Y-M-D) 2017-03-12 02:05:00 TZ=-08:00'
date: normalized time: '(Y-M-D) 2017-03-12 03:05:00 TZ=-08:00'
date: --
date: possible reasons:
date: non-existing due to daylight-saving time;
date: numeric values overflow;
date: missing timezone
date: invalid date ‘12 Mar 2017 02:05’
cheers,
Pádraig