Thread: internal time format

internal time format

From
justin
Date:
I'm generating binary copy files and was wondering if someone could quickly 
shed some light on the internal binary format used to represent time types, 
specifically timestamp{w/tz} types.  I'm in a bit of a hurry unfortunately, 
so I figured I'd try the list first in an effort to save some time.  Even a 
few tips and pointers to which source files and/or routines to look at would 
be sufficient.  

Thanks.



Re: internal time format

From
Tom Lane
Date:
justin <jtyme@intrusic.com> writes:
> I'm generating binary copy files and was wondering if someone could quickly 
> shed some light on the internal binary format used to represent time types, 
> specifically timestamp{w/tz} types.

It's usually a float8, but an int8 if you built with
--enable-integer-datetimes.  IIRC, the float8 represents seconds
before/since midnight 1/1/2000, the int8 the same but multiplied by
10^6.  For timestamptz the reference is midnight GMT, for timestamp
it's, uh, just midnight ...

> pointers to which source files and/or routines to look at would 
> be sufficient.  

The date and time related files in src/backend/utils/adt/ are what
to look at.
        regards, tom lane