All of lore.kernel.org
 help / color / mirror / Atom feed
From: Victor Engmark <victor.engmark@terreactive.ch>
To: Andreas Ericsson <ae@op5.se>
Cc: Michael J Gruber <git@drmicha.warpmail.net>,
	Brian Gernhardt <brian@gernhardtsoftware.com>,
	"git@vger.kernel.org List" <git@vger.kernel.org>
Subject: Re: Approxidate with YYYY.MM
Date: Tue, 10 May 2011 09:40:08 +0200	[thread overview]
Message-ID: <4DC8EBD8.50707@terreactive.ch> (raw)
In-Reply-To: <964517.31047.1305010481774.JavaMail.trustmail@mail1.terreactive.ch>

On 05/10/2011 08:54 AM, Andreas Ericsson wrote:
> On 05/10/2011 08:35 AM, Michael J Gruber wrote:
>> Brian Gernhardt venit, vidit, dixit 09.05.2011 21:02:
>>> (This is in response to a discussion on #parrot.)
>>>
>>> Rakudo (https://github.com/rakudo/rakudo/) uses tags of the form
>>> YYYY.MM for their monthly releases.  When we were attempting to find
>>> the cause of a slowdown, somewhat was trying to find what commits
>>> occurred after the 2011.01 release with "git log --after=2011.01".
>>> His mistake was pointed out but this led to the confusion of why this
>>> was parsed as "May 1 2011" instead of "Jan 1 2011".  Shouldn't
>>> date.c:match_multi_number() parse something with only two numbers as
>>> a beginning of month instead of allowing it to pass through to the
>>> generic parsing?
>>
>> I just don't think there is a format like that. There is dd.mm.[yy]yy
>> and apparently also yyyy.mm.dd, but without leading zeros in mm for the
>> latter. Our date parser also takes "." for a space so that you don't
>> need to quote a space ("1.day.ago"). I can see the logic behind parsing
>> 2011.01 as January 2011, but it's a stretch from the existing formats:
>>
> 
> It would be far more logical to parse "2011-01" as "January 2011" as
> that's the preferred way to write month-precision dates in most
> countries that use both the metric system and the gregorian calender.
> 
> I've never seen that date-type with dot as a separator, but with the
> dash it's very, very common.

Seconded. ISO dates are getting pretty common, and in the extended
format hyphens are the default separator between year, month, and date
<https://secure.wikimedia.org/wikipedia/en/wiki/ISO_8601#Calendar_dates>.

A few notes on support:

GNU `date` 8.5 parses some ISO date strings correctly:
$ date --date='2001-02-03' +%Y-%m-%d\ %H:%M:%S
2001-02-03 00:00:00
$ date --date='2001-02-03 04:05:06' +%Y-%m-%d\ %H:%M:%S
2001-02-03 04:05:06

Unfortunately, it doesn't handle partial dates:
$ date --date='2001-02' +%Y-%m-%d\ %H:%M:%S
date: invalid date `2001-02'

But it does handle HH:MM:
$ date --date='04:05' +%Y-%m-%d\ %H:%M:%S
2011-05-10 04:05:00

Basic format dates are sometimes parsed correctly:
$ date --date='20010203' +%Y-%m-%d\ %H:%M:%S
2001-02-03 00:00:00

But not with seconds:
$ date --date='20010203040506' +%Y-%m-%d\ %H:%M:%S
2001020304-05-06 00:00:00

The W3C recommends the use of ISO dates:
<http://www.w3.org/QA/Tips/iso-date>, and their standards, like XML,
typically support only ISO dates (or a subset thereof).

Cheers,
Victor Engmark

  parent reply	other threads:[~2011-05-10  7:40 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-09 19:02 Approxidate with YYYY.MM Brian Gernhardt
2011-05-10  6:35 ` Michael J Gruber
2011-05-10  6:54   ` Andreas Ericsson
2011-05-10  7:08     ` Michael J Gruber
     [not found]   ` <964517.31047.1305010481774.JavaMail.trustmail@mail1.terreactive.ch>
2011-05-10  7:40     ` Victor Engmark [this message]
2011-05-10  8:36       ` Michael J Gruber
2011-05-22 17:10         ` Michael Witten

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DC8EBD8.50707@terreactive.ch \
    --to=victor.engmark@terreactive.ch \
    --cc=ae@op5.se \
    --cc=brian@gernhardtsoftware.com \
    --cc=git@drmicha.warpmail.net \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.