On 05 Nov 14 13 02, Bruce Momjian wrote:
> On Wed, Nov 5, 2014 at 05:56:07PM +0000, hunsakerbn@familysearch.org wrote:
> > The following bug has been logged on the website:
> >
> > Bug reference: 11883
> > Logged by: Bruce Hunsaker
> > Email address: hunsakerbn@familysearch.org
> > PostgreSQL version: 9.3.5
> > Operating system: Linux
> > Description:
> >
> > Entering historical dates we found we could not enter a date of '1500-02-29'
> > Even though 1500 is documented to be a leap year. Tested with date and
> > timestamp column types.
> >
> > To reproduce:
> > psql> create table date_test (mydate date);
> > CREATE TABLE
> > psql> insert into date_test values ('1500-02-29');
> > ERROR: date/time field value out of range: "1500-02-29"
> > LINE 1: insert into date_test values ('1500-02-29');
> >
> > psql> insert into date_test values ('1500-02-28');
> > INSERT 0 1;
> >
> > So, Feb 29, is not allowed but Feb 28 is.
>
> Uh, what makes you think 1500 was a leap year? This is the canonical
> way to calculate which years are leap years:
>
> #define isleap(y) (((y) % 4) == 0 && (((y) % 100) != 0 || ((y) % 400) == 0))
>
> Because 1500 % 100 == 0, I think 1500 was not a leap year.
Well, I believe that rule started at 1600.
Wikipedia says it's a leap year. As do some other sources I checked.
--
Bruce Hunsaker
NOTICE: This email message is for the sole use of the intended recipient(s) and may contain confidential and
privilegedinformation. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the
intendedrecipient, please contact the sender by reply email and destroy all copies of the original message.