Type to to_char(d, 'J')?

From: Marc Dahn <dahn(at)tfiu(dot)de>
To: pgsql-general(at)postgresql(dot)org
Subject: Type to to_char(d, 'J')?
Date: 2013-07-31 09:09:22
Message-ID: 20130731090922.GA29581@ari.uni-heidelberg.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Dear list,

Section 9.8 of the postgres (9.1) documentation says, on the
patterns for to_char(timestamp, pattern),:

J Julian Day (days since November 24, 4714 BC at midnight)

This leaves open the question of what's actually returned. At least
in astronomy, it is customary to have fractional days in JDs, whereas
postgres appears to always return an integer. Is that guaranteed
behaviour?

The reason I'm asking is that I'd like to use the expression

to_char($1, 'J')::double precision
+ to_char($1,'ssss')::double_precision/86400
- 2400001

to compute the modified julian date (MJD) from a postgres timestamp
in some software that may be around for longer. If postgres at some
point decided to return fractional days, that would blow up.

If integers are guaranteed, might I suggest to change the
documentation to read

J Chronological Julian Day (integer number of days since November 24,
4714 BC at midnight)

Cheers,

Marc

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Stephen Brearley 2013-07-31 10:07:24 Re: Postgres 9.2.4 for Windows (Vista) Dell Vostro 400, re-installation failure PLEASE CAN SOMEONE HELP!!
Previous Message Albe Laurenz 2013-07-31 07:37:35 Re: Recovery_target_time misinterpreted?