Re: BUG #11883: Year 1500 not treated as leap year when it was a leap year

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Magnus Hagander <magnus(at)hagander(dot)net>, hunsakerbn(at)familysearch(dot)org, pgsql-bugs <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #11883: Year 1500 not treated as leap year when it was a leap year
Date: 2014-11-06 07:34:51
Message-ID: 20141106073451.GA4253@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Wed, Nov 5, 2014 at 01:13:21PM -0500, Tom Lane wrote:
> Magnus Hagander <magnus(at)hagander(dot)net> writes:
> > On Wed, Nov 5, 2014 at 7:02 PM, Bruce Momjian <bruce(at)momjian(dot)us> wrote:
> >> Because 1500 % 100 == 0, I think 1500 was not a leap year.
>
> > I believe it was a leap year in the Julian calendar, maybe that's
> > where the difference comes from?
>
> Indeed. We won't be changing our code though, because we document that
> we follow Gregorian calendar rules even before that calendar was instituted
> (ie, proleptic Gregorian calendar). You could argue for doing that
> differently, but then what are you going to do for dates before the Julian
> calendar was instituted? In any case, this behavior appears to be
> required by the SQL standard, which repeatedly says that datetime values
> are "constrained according to the Gregorian calendar".

I have applied the attached C comment to document why we use the
Gregorian calendar for pre-1582 years.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ Everyone has their own god. +

Attachment Content-Type Size
leap.diff text/x-diff 688 bytes

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Bruce Hunsaker 2014-11-06 14:29:49 Re: BUG #11883: Year 1500 not treated as leap year when it was a leap year
Previous Message Robert Haas 2014-11-06 01:38:36 Re: ltree::text not immutable?