Re: Julian Day 0 question - Mailing list pgsql-general

From Tom Lane
Subject Re: Julian Day 0 question
Date
Msg-id 15646.1197677983@sss.pgh.pa.us
Whole thread Raw
In response to Re: Julian Day 0 question  (Andrew Chernow <ac@esilo.com>)
List pgsql-general
Andrew Chernow <ac@esilo.com> writes:
> Looks like a difference in calendars: I think the docs give the starting
> date in Julian proleptic Calendar while to_char returns Gregorian
> proleptic Calendar.

Yeah.  We're definitely using Gregorian counting, because we're omitting
leap years at multiples of 400 years:

regression=# select 'J114417'::date;
     date
---------------
 4400-02-28 BC
(1 row)

regression=# select 'J114418'::date;
     date
---------------
 4400-03-01 BC
(1 row)

So as far as that goes, I'm inclined to leave the code alone and adjust
the docs.

The regular date input routine hasn't got a problem with J0:

regression=# select 'J1'::date;
     date
---------------
 4714-11-25 BC
(1 row)

regression=# select 'J0'::date;
     date
---------------
 4714-11-24 BC
(1 row)

so to_date's behavior in the case seems a bit broken, but I'm not sure
if it's worth fixing.  IIRC that code uses zero to mean "field not
entered", so it'd need some ugly hack to handle this.

            regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: postgres writer process growing up too much
Next
From: Adrian Klaver
Date:
Subject: Re: mssql migration and boolean to integer problems