Re: Since '2001-09-09 01:46:40'::timestamp microseconds are lost when extracting epoch

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
Cc: David Steele <david(at)pgmasters(dot)net>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Petr Fedorov <petr(dot)fedorov(at)phystech(dot)edu>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Since '2001-09-09 01:46:40'::timestamp microseconds are lost when extracting epoch
Date: 2021-04-27 15:56:22
Message-ID: 2658907.1619538982@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

I wrote:
>> Perhaps it'd be worth documenting that you can get the standard
>> astronomical definition of Julian date by transposing to time zone UTC-12
>> before converting.

BTW ... I'd first thought that the way to do this was to rotate to
time zone UTC+12. I convinced myself on two separate days that UTC-12
was correct instead, but now I'm thinking I was right the first time.
In particular, the results I'm getting with UTC-12 don't square with
the example on Wikipedia [1], which says "the Julian Date for
00:30:00.0 UT January 1, 2013, is 2 456 293.520 833":

regression=# select extract(julian from '2013-01-01 00:30+00'::timestamptz at time zone 'utc-12');
extract
------------------------------
2456294.52083333333333333333
(1 row)

But using UTC+12 does match:

regression=# select extract(julian from '2013-01-01 00:30+00'::timestamptz at time zone 'utc+12');
extract
------------------------------
2456293.52083333333333333333
(1 row)

Of course Wikipedia has been known to contain errors, but now
I'm inclined to think I blew this. Anyone want to check my work?

regards, tom lane

[1] https://en.wikipedia.org/wiki/Julian_day

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Bruce Momjian 2021-04-27 20:10:19 Re: BUG #16939: Plural interval for negative singular
Previous Message PG Bug reporting form 2021-04-27 11:32:54 BUG #16985: ModifyWaitEvent function does not have pgsocket fd and void *user_data arguments

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2021-04-27 16:16:53 Re: SQL-standard function body
Previous Message Alvaro Herrera 2021-04-27 15:47:33 Re: ALTER TABLE .. DETACH PARTITION CONCURRENTLY