From: Danh Doan Date: Thu, 16 Apr 2020 10:04:26 GMT Subject: Re: [PATCH v2 1/2] date.c: skip fractional second part of ISO-8601 Message-ID: <20200416100426.GA2285@danh.dev> In-Reply-To: <20200415101747.ua22fjadmfxzri5n@tb-raspi4> On 2020-04-15 12:17:48+0200, Torsten Bögershausen wrote: > On Wed, Apr 15, 2020 at 10:31:27AM +0700, Đoàn Trần Công Danh wrote: > > git-commit(1) says ISO-8601 is one of our supported date format. > > > > ISO-8601 allows timestamps to have a fractional number of seconds. > > We represent time only in terms of whole seconds, so we never bothered > > parsing fractional seconds. However, it's better for us to parse and > > throw away the fractional part than to refuse to parse the timestamp > > at all. > > > > And refusing parsing fractional second part may confuse the parse to > > think fractional and timezone as day and month in this example: > > > > 2008-02-14 20:30:45.019-04:00 > > > > Reported-by: Brian M. Carlson > > Signed-off-by: Đoàn Trần Công Danh > > --- > > Documentation/date-formats.txt | 2 +- > > date.c | 2 ++ > > t/t0006-date.sh | 2 ++ > > 3 files changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/Documentation/date-formats.txt b/Documentation/date-formats.txt > > index 6926e0a4c8..6f69ba2ddd 100644 > > --- a/Documentation/date-formats.txt > > +++ b/Documentation/date-formats.txt > > @@ -20,7 +20,7 @@ RFC 2822:: > > ISO 8601:: > > Time and date specified by the ISO 8601 standard, for example > > `2005-04-07T22:13:13`. The parser accepts a space instead of the > > - `T` character as well. > > + `T` character as well. The fractional part will be ignored. > > When somebody has read the whole patch series, it is clear what > "fractional part" means. Otherwise it is not clear, what fractional part > means. The following may be easier to understand ? > > ISO 8601:: > Time and date specified by the ISO 8601 standard, for example > `2005-04-07T22:13:13`. The parser accepts a space instead of the > `T` character as well. > Fractional parts of a second like `2005-04-07T22:13:13.091` > will be ignored and treated as `2005-04-07T22:13:13` Yes, this read better. I think I'll rephase to Fractional parts of a second will be ignored, for example `2005-04-07T22:13:13.019` will be treated as `2005-04-07T22:13:13` -- Danh