Thread: unix timestamp

unix timestamp

From
"Ben-Nes Nimrod"
Date:
Howdie everyone
how can i use unix timestamp as a data type?
i thought that the timestamp data type use the unix timestamp but found out that it didnt.. :(
do i need to use an int data type for holding unix timestamp or there is a data type which was build specialy for that?
thxy
 

Re: unix timestamp

From
newsreader@mediaone.net
Date:
You can insert unix timestamp into say
abstime field and it will automatically
be converted.  This way you can manipulate
the timestamp outside anyway you want
and then insert into pg



On Thu, Aug 16, 2001 at 08:53:26PM +0200, Ben-Nes Nimrod wrote:
> Howdie everyone
> how can i use unix timestamp as a data type?
> i thought that the timestamp data type use the unix timestamp but found out that it didnt.. :(
> do i need to use an int data type for holding unix timestamp or there is a data type which was build specialy for
that?
> thxy
>

Re: unix timestamp

From
Thomas Lockhart
Date:
> how can i use unix timestamp as a data type?

You don't want to. Really.

> i thought that the timestamp data type use the unix timestamp but
> found out that it didnt.. :(

Right. One second resolution and limited range was considered a problem.

> do i need to use an int data type for holding unix timestamp or there
> is a data type which was build specialy for that?

I would suggest using the native timestamp type. You can convert back
and forth using various techniques, but you should find that the
examples below give you a good start:

lockhart=# select date_part('epoch',timestamp 'now');
 date_part
-----------
 997993780

lockhart=# select timestamp(integer '997993780');
       timestamp
------------------------
 2001-08-16 20:29:40+00


hth

                      - Thomas

Re: unix timestamp

From
"Hugh Mandeville"
Date:
> how can i use unix timestamp as a data type?

the datetime data type should work.  you can find info about it at

  http://www.postgresql.org/idocs/index.php?functions-datetime.html
  http://www.postgresql.org/idocs/index.php?datatype-datetime.html

here is some example code

CREATE TABLE test (
    id    integer   PRIMARY KEY,
    mytime datetime
);


#include <time.h>
...
time_t mytime = time (NULL);
printf ("time to be inserted into database: %s\n", ctime (&mytime));

/* insert row setting the time.  if you want to insert the current time you
can pass 'now' to a datetime field */
sprintf (sql_str, "INSERT INTO test (id, mytime) VALUES (1, '%s')", ctime
(&mytime));
res = PQexec(dbconn, sql_str);
...

/* get row extracting the time since the epoch */
sprintf (sql_str, "SELECT id, extract (epoch from mytime) FROM test WHERE
oid = %d", PQoidValue(res));
...
mytime = atoi(PQgetvalue(res, 0, 1));

printf ("time retrieved from database: %s\n", ctime(&mytime));