Age function

Started by Mihai Gheorghiuover 23 years ago3 messagesgeneral
Jump to latest
#1Mihai Gheorghiu
tanethq@earthlink.net

PG7.2.1 on RH7.3

SELECT AGE ('10/10/02', '1/10/02');
8mons 30days 23:00

SELECT AGE ('10/10/02 4:00PM', '1/10/02');
9mons 15:00

Please help.
Thank you all.

#2Joe Conway
mail@joeconway.com
In reply to: Mihai Gheorghiu (#1)
Re: Age function

Mihai Gheorghiu wrote:

PG7.2.1 on RH7.3

SELECT AGE ('10/10/02', '1/10/02');
8mons 30days 23:00

SELECT AGE ('10/10/02 4:00PM', '1/10/02');
9mons 15:00

Please help.
Thank you all.

Not clear what you think the problem is. If it is the apparent 1 hr
discrepancy, I think that is due to the fact that January 10th is "standard"
time for your timezone whereas October 10th is still "daylight savings" time.
Try two dates within daylight savings time:

test=# SELECT AGE ('10/10/02 4:00PM', '7/10/02');
age
--------------
3 mons 16:00
(1 row)

test=# SELECT AGE ('10/10/02', '7/10/02');
age
--------
3 mons
(1 row)

Looks correct to me.

Joe

#3Mihai Gheorghiu
tanethq@earthlink.net
In reply to: Joe Conway (#2)
Re: Age function

Thanks for the daylight savings tip. However:

SELECT age('10/10/02' :: date, '1/10/02' :: date);
8mons 30days 23:00

SELECT age(date('10/10/02'), date('1/10/02'));
8mons 30days 23:00

When I cast to date, I should get 9 months.
It looks like it works timestamp, with hours and fractions thereof set to
zero. It should not take into account daylight savings, either.
I searched the archives, and this topic has come up more than once over the
past two years.

-----Original Message-----
From: Joe Conway <mail@joeconway.com>
To: Mihai Gheorghiu <tanethq@earthlink.net>
Cc: pgsql-general@postgresql.org <pgsql-general@postgresql.org>
Date: Thursday, October 10, 2002 6:09 PM
Subject: Re: [GENERAL] Age function

Mihai Gheorghiu wrote:

PG7.2.1 on RH7.3

SELECT AGE ('10/10/02', '1/10/02');
8mons 30days 23:00

SELECT AGE ('10/10/02 4:00PM', '1/10/02');
9mons 15:00

Please help.
Thank you all.

Not clear what you think the problem is. If it is the apparent 1 hr
discrepancy, I think that is due to the fact that January 10th is

"standard"

time for your timezone whereas October 10th is still "daylight savings"

time.

Show quoted text

Try two dates within daylight savings time:

test=# SELECT AGE ('10/10/02 4:00PM', '7/10/02');
age
--------------
3 mons 16:00
(1 row)

test=# SELECT AGE ('10/10/02', '7/10/02');
age
--------
3 mons
(1 row)

Looks correct to me.

Joe