On Sunday 16 September 2007 13:14:27 Andreas Kretschmer wrote: > Andreas Joseph Krogh <[EMAIL PROTECTED]> schrieb: > > Hi all. Any hint on how to format this interval as number of hour/seconds > > etc? select age('2007-09-22 17:00'::timestamp, '2000-02-20 > > 18:00'::timestamp); age > > ------------------------------- > > 7 years 7 mons 1 day 23:00:00 > > You can use extract(epoch, from ...) like this: > > test=*# select extract(epoch from '2007-09-22 17:00'::timestamp) - extract > (epoch from '2000-02-20 18:00'::timestamp); ?column? > ----------- > 239407200 > (1 row) > > Now you can calculate the hours and so on.
Yes, this works fine for dates >= 1970, but I'm looking for a more general solution which takes an arbitrary interval as input. The reason why I'm using PG to calculate this is 'cause it takes 25/23 hour days, leapyears etc. into account when calculating intervals. -- Andreas Joseph Krogh <[EMAIL PROTECTED]> Senior Software Developer / Manager ------------------------+---------------------------------------------+ OfficeNet AS | The most difficult thing in the world is to | Karenslyst Allé 11 | know how to do a thing and to watch | PO. Box 529 Skøyen | somebody else doing it wrong, without | 0214 Oslo | comment. | NORWAY | | Tlf: +47 24 15 38 90 | | Fax: +47 24 15 38 91 | | Mobile: +47 909 56 963 | | ------------------------+---------------------------------------------+ ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend