date-debug.log ( failed)
test link: tests/date/date-debug.shFAIL: tests/date/date-debug
===========================
--- exp1 2025-06-05 10:18:30.912784445 +0000
+++ out1 2025-06-05 10:18:30.918784478 +0000
@@ -1,21 +1 @@
-date: parsed day part: Sun (day ordinal=0 number=0)
-date: parsed date part: (Y-M-D) 0090-12-11
-date: parsed relative part: +3 day(s)
-date: parsed relative part: +3 day(s) -90 minutes
-date: input timezone: TZ="Asia/Tokyo" in date string
-date: warning: adjusting year value 90 to 1990
-date: warning: using midnight as starting time: 00:00:00
-date: warning: day (Sun) ignored when explicit dates are given
-date: starting date/time: '(Y-M-D) 1990-12-11 00:00:00'
-date: warning: when adding relative days, it is recommended to specify noon
-date: after date adjustment (+0 years, +0 months, +3 days),
-date: new date/time = '(Y-M-D) 1990-12-14 00:00:00'
-date: '(Y-M-D) 1990-12-14 00:00:00' = 661100400 epoch-seconds
-date: after time adjustment (+0 hours, -90 minutes, +0 seconds, +0 ns),
-date: new time = 661095000 epoch-seconds
-date: timezone: TZ="Asia/Tokyo" environment value
-date: final: 661095000.000000000 (epoch-seconds)
-date: final: (Y-M-D) 1990-12-13 13:30:00 (UTC)
-date: final: (Y-M-D) 1990-12-13 22:30:00 (UTC+09)
-date: output format: '%a %b %e %T %z %Y'
-Thu Dec 13 07:30:00 -0600 1990
+date: invalid date 'TZ="Asia/Tokyo" Sun, 90-12-11 + 3 days - 90 minutes'
--- exp2 2025-06-05 10:18:30.922784500 +0000
+++ out2 2025-06-05 10:18:30.931784549 +0000
@@ -1,13 +1 @@
-date: parsed date part: (Y-M-D) 2006-04-02
-date: parsed time part: 02:30:00
-date: input timezone: TZ="America/Edmonton" in date string
-date: using specified time as starting value: '02:30:00'
-date: error: invalid date/time value:
-date: user provided time: '(Y-M-D) 2006-04-02 02:30:00'
-date: normalized time: '(Y-M-D) 2006-04-02 XX:XX:XX'
-date: --
-date: possible reasons:
-date: nonexistent due to daylight-saving time;
-date: numeric values overflow;
-date: missing timezone
date: invalid date 'TZ="America/Edmonton" 2006-04-02 02:30:00'
--- exp3 2025-06-05 10:18:30.935784571 +0000
+++ out3 2025-06-05 10:18:30.939784593 +0000
@@ -1,8 +1 @@
-date: parsed number of seconds part: number of seconds: 1
-date: input timezone: '@timespec' - always UTC
-date: timezone: TZ="America/Lima" environment value
-date: final: 1.000000000 (epoch-seconds)
-date: final: (Y-M-D) 1970-01-01 00:00:01 (UTC)
-date: final: (Y-M-D) 1969-12-31 19:00:01 (UTC-05)
-date: output format: '%a %b %e %T %z %Y'
Wed Dec 31 19:00:01 -0500 1969
--- exp4 2025-06-05 10:18:30.942784609 +0000
+++ out4 2025-06-05 10:18:30.944784620 +0000
@@ -1,11 +1 @@
-date: parsed number part: (Y-M-D) 2013-01-01
-date: input timezone: TZ="UTC0" environment value or -u
-date: warning: using midnight as starting time: 00:00:00
-date: starting date/time: '(Y-M-D) 2013-01-01 00:00:00'
-date: '(Y-M-D) 2013-01-01 00:00:00' = 1356998400 epoch-seconds
-date: timezone: Universal Time
-date: final: 1356998400.000000000 (epoch-seconds)
-date: final: (Y-M-D) 2013-01-01 00:00:00 (UTC)
-date: final: (Y-M-D) 2013-01-01 00:00:00 (UTC+00)
-date: output format: ''
Tue Jan 1 00:00:00 UTC 2013
--- exp5 2025-06-05 10:18:30.946784631 +0000
+++ out5 2025-06-05 10:18:30.949784648 +0000
@@ -1,17 +1 @@
-date: parsed date part: (Y-M-D) 2013-10-30
-date: parsed time part: 00:00:00
-date: parsed relative part: -8 day(s)
-date: parsed zone part: UTC+00
-date: input timezone: parsed date/time string (+00)
-date: using specified time as starting value: '00:00:00'
-date: starting date/time: '(Y-M-D) 2013-10-30 00:00:00 TZ=+00'
-date: warning: when adding relative days, it is recommended to specify noon
-date: after date adjustment (+0 years, +0 months, -8 days),
-date: new date/time = '(Y-M-D) 2013-10-22 00:00:00 TZ=+00'
-date: '(Y-M-D) 2013-10-22 00:00:00 TZ=+00' = 1382400000 epoch-seconds
-date: timezone: Universal Time
-date: final: 1382400000.000000000 (epoch-seconds)
-date: final: (Y-M-D) 2013-10-22 00:00:00 (UTC)
-date: final: (Y-M-D) 2013-10-22 00:00:00 (UTC+00)
-date: output format: '%F'
-2013-10-22
+date: invalid date '2013-10-30 00:00:00 UTC -8 days'
--- exp6 2025-06-05 10:18:30.953784670 +0000
+++ out6 2025-06-05 10:18:30.956784686 +0000
@@ -1,18 +1 @@
-date: parsed date part: (Y-M-D) 2016-10-31
-date: parsed relative part: -1 month(s)
-date: input timezone: TZ="UTC0" environment value or -u
-date: warning: using midnight as starting time: 00:00:00
-date: starting date/time: '(Y-M-D) 2016-10-31 00:00:00'
-date: warning: when adding relative months/years, it is recommended to specify the 15th of the months
-date: after date adjustment (+0 years, -1 months, +0 days),
-date: new date/time = '(Y-M-D) 2016-10-01 00:00:00'
-date: warning: month/year adjustment resulted in shifted dates:
-date: adjusted Y M D: 2016 09 31
-date: normalized Y M D: 2016 10 01
-date: '(Y-M-D) 2016-10-01 00:00:00' = 1475280000 epoch-seconds
-date: timezone: Universal Time
-date: final: 1475280000.000000000 (epoch-seconds)
-date: final: (Y-M-D) 2016-10-01 00:00:00 (UTC)
-date: final: (Y-M-D) 2016-10-01 00:00:00 (UTC+00)
-date: output format: ''
-Sat Oct 1 00:00:00 UTC 2016
+Fri Sep 30 00:00:00 UTC 2016
--- exp7 2025-06-05 10:18:30.959784703 +0000
+++ out7 2025-06-05 10:18:31.018785026 +0000
@@ -1,20 +1 @@
-date: parsed date part: (Y-M-D) 2016-06-01
-date: parsed local_zone part: isdst=1
-date: parsed relative part: +6 month(s)
-date: input timezone: TZ="America/New_York" environment value, dst
-date: warning: using midnight as starting time: 00:00:00
-date: starting date/time: '(Y-M-D) 2016-06-01 00:00:00'
-date: warning: when adding relative months/years, it is recommended to specify the 15th of the months
-date: after date adjustment (+0 years, +6 months, +0 days),
-date: new date/time = '(Y-M-D) 2016-11-30 23:00:00'
-date: warning: daylight saving time changed after date adjustment
-date: warning: month/year adjustment resulted in shifted dates:
-date: adjusted Y M D: 2016 12 01
-date: normalized Y M D: 2016 11 30
-date: '(Y-M-D) 2016-11-30 23:00:00' = 1480564800 epoch-seconds
-date: timezone: TZ="America/New_York" environment value
-date: final: 1480564800.000000000 (epoch-seconds)
-date: final: (Y-M-D) 2016-12-01 04:00:00 (UTC)
-date: final: (Y-M-D) 2016-11-30 23:00:00 (UTC-05)
-date: output format: '%F'
-2016-11-30
+date: invalid date '2016-06-01 EDT + 6 months'
--- exp8_1 2025-06-05 10:18:31.021785043 +0000
+++ out8_1 2025-06-05 10:18:31.034785114 +0000
@@ -1,12 +1 @@
-date: parsed date part: (Y-M-D) 2011-12-11
-date: parsed local_zone part: isdst=0
-date: input timezone: TZ="Europe/Helsinki" environment value
-date: warning: using midnight as starting time: 00:00:00
-date: starting date/time: '(Y-M-D) 2011-12-11 00:00:00'
-date: '(Y-M-D) 2011-12-11 00:00:00' = 1323554400 epoch-seconds
-date: timezone: TZ="Europe/Helsinki" environment value
-date: final: 1323554400.000000000 (epoch-seconds)
-date: final: (Y-M-D) 2011-12-10 22:00:00 (UTC)
-date: final: (Y-M-D) 2011-12-11 00:00:00 (UTC+02)
-date: output format: ''
-Sun Dec 11 00:00:00 EET 2011
+date: invalid date '2011-12-11 EET'
--- exp8_2 2025-06-05 10:18:31.037785130 +0000
+++ out8_2 2025-06-05 10:18:31.042785158 +0000
@@ -1,12 +1 @@
-date: parsed date part: (Y-M-D) 2011-06-11
-date: parsed local_zone part: isdst=1
-date: input timezone: TZ="Europe/Helsinki" environment value, dst
-date: warning: using midnight as starting time: 00:00:00
-date: starting date/time: '(Y-M-D) 2011-06-11 00:00:00'
-date: '(Y-M-D) 2011-06-11 00:00:00' = 1307739600 epoch-seconds
-date: timezone: TZ="Europe/Helsinki" environment value
-date: final: 1307739600.000000000 (epoch-seconds)
-date: final: (Y-M-D) 2011-06-10 21:00:00 (UTC)
-date: final: (Y-M-D) 2011-06-11 00:00:00 (UTC+03)
-date: output format: ''
-Sat Jun 11 00:00:00 EEST 2011
+date: invalid date '2011-06-11 EEST'
--- exp9 2025-06-05 10:18:31.046785180 +0000
+++ out9 2025-06-05 10:18:31.052785212 +0000
@@ -1,13 +1 @@
-date: parsed date part: (Y-M-D) XXXX-04-11
-date: parsed time part: 22:59:00
-date: parsed number part: year: 2011
-date: input timezone: TZ="UTC0" environment value or -u
-date: using specified time as starting value: '22:59:00'
-date: starting date/time: '(Y-M-D) 2011-04-11 22:59:00'
-date: '(Y-M-D) 2011-04-11 22:59:00' = 1302562740 epoch-seconds
-date: timezone: Universal Time
-date: final: 1302562740.000000000 (epoch-seconds)
-date: final: (Y-M-D) 2011-04-11 22:59:00 (UTC)
-date: final: (Y-M-D) 2011-04-11 22:59:00 (UTC+00)
-date: output format: ''
-Mon Apr 11 22:59:00 UTC 2011
+date: invalid date 'Apr 11 22:59:00 2011'
--- exp10 2025-06-05 10:18:31.055785229 +0000
+++ out10 2025-06-05 10:18:31.058785245 +0000
@@ -1,14 +1,76 @@
-date: only using last of multiple -d options
-date: parsed date part: (Y-M-D) XXXX-04-11
-date: parsed time part: 22:59:00
-date: parsed number part: year: 2011
-date: input timezone: TZ="UTC0" environment value or -u
-date: using specified time as starting value: '22:59:00'
-date: starting date/time: '(Y-M-D) 2011-04-11 22:59:00'
-date: '(Y-M-D) 2011-04-11 22:59:00' = 1302562740 epoch-seconds
-date: timezone: Universal Time
-date: final: 1302562740.000000000 (epoch-seconds)
-date: final: (Y-M-D) 2011-04-11 22:59:00 (UTC)
-date: final: (Y-M-D) 2011-04-11 22:59:00 (UTC+00)
-date: output format: ''
-Mon Apr 11 22:59:00 UTC 2011
+error: the argument '--date ' cannot be used multiple times
+
+Usage: date [OPTION]... [+FORMAT]...
+ date [OPTION]... [MMDDhhmm[[CC]YY][.ss]]
+
+ FORMAT controls the output. Interpreted sequences are:
+ | Sequence | Description | Example |
+ | -------- | -------------------------------------------------------------------- | ---------------------- |
+ | %% | a literal % | % |
+ | %a | locale's abbreviated weekday name | Sun |
+ | %A | locale's full weekday name | Sunday |
+ | %b | locale's abbreviated month name | Jan |
+ | %B | locale's full month name | January |
+ | %c | locale's date and time | Thu Mar 3 23:05:25 2005|
+ | %C | century; like %Y, except omit last two digits | 20 |
+ | %d | day of month | 01 |
+ | %D | date; same as %m/%d/%y | 12/31/99 |
+ | %e | day of month, space padded; same as %_d | 3 |
+ | %F | full date; same as %Y-%m-%d | 2005-03-03 |
+ | %g | last two digits of year of ISO week number (see %G) | 05 |
+ | %G | year of ISO week number (see %V); normally useful only with %V | 2005 |
+ | %h | same as %b | Jan |
+ | %H | hour (00..23) | 23 |
+ | %I | hour (01..12) | 11 |
+ | %j | day of year (001..366) | 062 |
+ | %k | hour, space padded ( 0..23); same as %_H | 3 |
+ | %l | hour, space padded ( 1..12); same as %_I | 9 |
+ | %m | month (01..12) | 03 |
+ | %M | minute (00..59) | 30 |
+ | %n | a newline | \n |
+ | %N | nanoseconds (000000000..999999999) | 123456789 |
+ | %p | locale's equivalent of either AM or PM; blank if not known | PM |
+ | %P | like %p, but lower case | pm |
+ | %q | quarter of year (1..4) | 1 |
+ | %r | locale's 12-hour clock time | 11:11:04 PM |
+ | %R | 24-hour hour and minute; same as %H:%M | 23:30 |
+ | %s | seconds since 1970-01-01 00:00:00 UTC | 1615432800 |
+ | %S | second (00..60) | 30 |
+ | %t | a tab | \t |
+ | %T | time; same as %H:%M:%S | 23:30:30 |
+ | %u | day of week (1..7); 1 is Monday | 4 |
+ | %U | week number of year, with Sunday as first day of week (00..53) | 10 |
+ | %V | ISO week number, with Monday as first day of week (01..53) | 12 |
+ | %w | day of week (0..6); 0 is Sunday | 4 |
+ | %W | week number of year, with Monday as first day of week (00..53) | 11 |
+ | %x | locale's date representation | 03/03/2005 |
+ | %X | locale's time representation | 23:30:30 |
+ | %y | last two digits of year (00..99) | 05 |
+ | %Y | year | 2005 |
+ | %z | +hhmm numeric time zone | -0400 |
+ | %:z | +hh:mm numeric time zone | -04:00 |
+ | %::z | +hh:mm:ss numeric time zone | -04:00:00 |
+ | %:::z | numeric time zone with : to necessary precision | -04, +05:30 |
+ | %Z | alphabetic time zone abbreviation | EDT |
+
+ By default, date pads numeric fields with zeroes.
+ The following optional flags may follow '%':
+ * `-` (hyphen) do not pad the field
+ * `_` (underscore) pad with spaces
+ * `0` (zero) pad with zeros
+ * `^` use upper case if possible
+ * `#` use opposite case if possible
+ After any flags comes an optional field width, as a decimal number;
+ then an optional modifier, which is either
+ * `E` to use the locale's alternate representations if available, or
+ * `O` to use the locale's alternate numeric symbols if available.
+ Examples:
+ Convert seconds since the epoch (1970-01-01 UTC) to a date
+
+ date --date='@2147483647'
+
+ Show the time on the west coast of the US (use tzselect(1) to find TZ)
+
+ TZ='America/Los_Angeles' date
+
+For more information, try '--help'.
FAIL tests/date/date-debug.sh (exit status: 1)