timestamp?

Lists: pgsql-general
From: Igor Roboul <igor(at)raduga(dot)dyndns(dot)org>
To: pgsql-general(at)hub(dot)org
Subject: timestamp?
Date: 2000-10-27 15:49:28
Message-ID: 20001027194928.B27576@linux.rainbow
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general

Hello,

Let assume that we have relation R01(id integer,ts timestamp)
Now I know that if I use PQgetvalue() for ts value, I'll get char*
to nullterminated string. How can I get time_t value for ts in
portable way (without parsing returned string)?
Sorry, if my English is not very understandable :-)

--
Igor Roboul, Unix System Administrator & Programmer @ sanatorium "Raduga",
Sochi, Russia
http://www.brainbench.com/transcript.jsp?pid=304744


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: igorr(at)crosswinds(dot)net
Cc: pgsql-general(at)hub(dot)org
Subject: Re: timestamp?
Date: 2000-10-27 19:01:31
Message-ID: 140.972673291@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general

Igor Roboul <igor(at)raduga(dot)dyndns(dot)org> writes:
> Let assume that we have relation R01(id integer,ts timestamp)
> Now I know that if I use PQgetvalue() for ts value, I'll get char*
> to nullterminated string. How can I get time_t value for ts in
> portable way (without parsing returned string)?

If you want to produce a time_t painlessly, the simplest way is not
to SELECT the raw timestamp, but rather date_part('epoch', timestamp).
This gives you back an integer number of seconds per Unix conventions,
which you just use atoi() on. For example:

regression=# select date_part('epoch', now());
date_part
-----------
972673187
(1 row)

regards, tom lane


From: Igor Roboul <igor(at)raduga(dot)dyndns(dot)org>
To: pgsql-general(at)hub(dot)org
Subject: Re: timestamp?
Date: 2000-10-28 04:02:47
Message-ID: 20001028080247.B30101@linux.rainbow
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general

On Fri, Oct 27, 2000 at 03:01:31PM -0400, Tom Lane wrote:
> This gives you back an integer number of seconds per Unix conventions,
> which you just use atoi() on. For example:
>
> regression=# select date_part('epoch', now());
Thanx

--
Igor Roboul, Unix System Administrator & Programmer @ sanatorium "Raduga",
Sochi, Russia
http://www.brainbench.com/transcript.jsp?pid=304744