From df9cd0a426a9b52ddfcd1c17e368a89fa3c6fbde Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Tue, 30 Aug 2011 23:02:28 +0200 Subject: date: support parsing of ISO-8601-with-"T" dates Thanks to an improvement in gnulib's parse-datetime module, commands like this now succeed (output manually indented): $ ./date -u -d 2004-02-29T16:21:42.33+07:00 +%FT%T.%N%z 2004-02-29T09:21:42.330000000+0000 * tests/misc/date: Add a test to exercise the new-in-gnulib parsing of ISO8601-with-"T" dates. * NEWS (New features): Mention it. * gnulib: Update, to pull in this parse-datetime improvement. --- NEWS | 6 ++++++ gnulib | 2 +- tests/misc/date | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index db5a474a0..44e631fc7 100644 --- a/NEWS +++ b/NEWS @@ -54,6 +54,12 @@ GNU coreutils NEWS -*- outline -*- ** New features + date now accepts ISO 8601 date-time strings with "T" as the + separator. It has long parsed dates like "2004-02-29 16:21:42" + with a space between the date and time strings. Now it also parses + "2004-02-29T16:21:42" and fractional-second and time-zone-annotated + variants like "2004-02-29T16:21:42.333-07:00" + md5sum accepts the new --strict option. With --check, it makes the tool exit non-zero for any invalid input line, rather than just warning. This also affects sha1sum, sha224sum, sha384sum and sha512sum. diff --git a/gnulib b/gnulib index 47cb657ec..9926b90d5 160000 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit 47cb657eca1abf2c26c32c8ce03def994a3ee37c +Subproject commit 9926b90d5159916a539b49359b3589fe89c2d987 diff --git a/tests/misc/date b/tests/misc/date index dd72544c1..6f7a530b0 100755 --- a/tests/misc/date +++ b/tests/misc/date @@ -29,6 +29,7 @@ $ENV{TZ} = 'UTC0'; my $t0 = '08:17:48'; my $d0 = '1997-01-19'; my $d1 = "$d0 $t0 +0"; +my $dT = "${d0}T$t0+0"; # ISO 8601 with "T" separator my $ts = '08:17:49'; # next second my $tm = '08:18:48'; # next minute @@ -72,6 +73,8 @@ my @Tests = # ['2', "-d '$d1' +'%c'", {OUT=>"Sun Jan 19 $t0 1997"}], ['3', "-d '$d1' +'%d_%D_%e_%h_%H'", {OUT=>"19_01/19/97_19_Jan_08"}], + ['3T',"-d '$dT' +'%d_%D_%e_%h_%H'", {OUT=>"19_01/19/97_19_Jan_08"}], + ['4', "-d '$d1' +'%I_%j_%k_%l_%m'", {OUT=>"08_019_ 8_ 8_01"}], ['5', "-d '$d1' +'%M_%n_%p_%r'", {OUT=>"17_\n_AM_$t0 AM"}], ['6', "-d '$d1' +'%s_%S_%t_%T'", {OUT=>"853661868_48_\t_$t0"}], -- cgit v1.2.3-70-g09d2