Re: Julian Day 0 question

From: Andrew Chernow <ac(at)esilo(dot)com>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Julian Day 0 question
Date: 2007-12-14 21:09:25
Message-ID: 4762F105.5020207@esilo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Pavel Stehule wrote:
> On 14/12/2007, Andrew Chernow <ac(at)esilo(dot)com> wrote:
>> Ran across something that is confusing me. The docs for to_char
>> indicates that julian day 0 is January 1, 4712 BC at midnight.
>>
>> http://www.postgresql.org/docs/8.3/static/functions-formatting.html
>>
>> When I run to_char, I don't get 0 for that date.
>>
>> postgres=# select to_char('4712-01-01 BC'::date, 'J');
>> to_char
>> ---------
>> 404
>>
>> I get julian day 0 for 4714-11-24 BC.
>>
>> postgres=# select to_char('4714-11-24 BC'::date, 'J');
>> to_char
>> ---------
>> 0
>>
>> Output of 'select version()'
>>
>> PostgreSQL 8.3devel on x86_64-unknown-linux-gnu, compiled by GCC gcc
>> (GCC) 4.1.1 20070105 (Red Hat 4.1.1-52)
>>
>> andrew
>>
>
> there is more strange things
>
> postgres=# select to_date('0', 'J');
> to_date
> ---------------
> 0001-01-01 BC
> (1 row)
>
> it's wrong, correct is probably ERROR: timestamp out of range
>
> postgres=# select to_date('1', 'J');
> to_date
> ---------------
> 4714-11-25 BC
> (1 row)
>
> Regards
> Pavel Stehule
>
>

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.

andrew

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Martijn van Oosterhout 2007-12-14 21:38:48 Re: Hijack!
Previous Message Pavel Stehule 2007-12-14 20:57:19 Re: Julian Day 0 question